Appium自動化フレームワークが最新の2.0にアップグレードされ、より強力な機能が追加されました

一緒に書く習慣をつけましょう!「ナゲッツデイリーニュープラン・4月アップデートチャレンジ」に参加して3日目です。クリックしてイベントの詳細をご覧ください

最近、携帯端末の自動テストフレームワークであるAppiumが新しいプロジェクトAppium 2.0を立ち上げました。基本機能の移転が本格化しており、いくつかのベータ版がリリースされています。このプロジェクトの最近の計画はすべてGitHubで確認でき、元の機能のほとんどが完了しており、重要度の低い構成とドキュメントの作業が進行中です。

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6d32c5c2332949cb885d02f7cd8100b4~tplv-k3u1fbpfcp-zoom-1.image

Appium2.0の新機能

個人的には、Appium 2.0について非常に楽観的です。airtestのようなフレームワークも現在非常に便利ですが、Appium2.0が作成しようとする新しいクロスプラットフォームテストエコシステムは依然として非常に魅力的です。Appiumが2.0で実行したいと考えている大きなことのいくつかは次のとおりです。

  • すべてのドライバーのバインドを解除します。Appium 1.0はシステムにバインドされています。たとえば、AndroidはUiautomator2にバインドされ、iOSはxcuitestにバインドされ、他のテストドライバーはインストールがより面倒です。ドライバーをバンドル解除した後、appium2.0はコマンドラインから必要なドライバーを簡単に追加できます。
  • 完全なドライバーエコシステムを作成します。Appium 1.0には、実際にはプラットフォーム間でテストする機能があります。iOS、android、window、Mac、およびflutterにはすべて、使用できる対応するドライバーがありますが、一部のドライバーはまだ使用されていません。Appium 2.0は、既存のドライバーに基づいて変更およびカスタマイズするすべての人をサポートし、テスト用の完全に新しいドライバーを作成することもできます。1行のコマンドをAppiumに統合できるため、非常に便利です。
  • 完全なプラグインシステムを作成します。現在のモバイルテストシナリオは変更可能で複雑です。特別なシナリオの場合、テスト方法には特別な機能を備えたプラグインが必要になることがよくあります。一般的なものは、グラフィック認識のポジショニングと差分メカニズムに基づいています。Appium2.0は使いやすいものをサポートしています。プラグイン管理システム。元の機能を簡単に拡張できます。ますます多くの開発者がそれに統合され、さまざまな機能を備えたプラグインを開発します。これにより、Appiumの開発が非常に迅速に促進されます。

Appium2.0ノートをインストールします

簡単な操作プロセスを試すのに10分かかりました。いくつかのピットを除いて、アップグレードプロセスは非常にスムーズです。

ステップ1:node.jsをインストールする

Appium 2.xバージョンは正式にリリースされておらず、公式のインターフェイスバージョンのダウンロードもありません。2.0の新機能を試すには、ノードからのみインストールできます。まず、 node.orgの公式Webサイトにアクセスしてノード環境をダウンロードし、[インストール]をクリックして、インストール中に環境変数を設定することに注意してください。

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/92df54b91299474f8592597b23891dc2~tplv-k3u1fbpfcp-zoom-1.image

画像-20211220142638123

ステップ2:Appiumサービスをアップグレードする

Appiumサービスをアップグレードするには、2つのオプションがあります。1つはグローバルインストールです。この方法では、システムの任意のディレクトリでappiumコマンドを簡単に操作できますが、現在は主にappium 1.xバージョンを使用しているため、使用したくありません。 appium 2.0を主な力として使用するので、最初にこの方法をあきらめてください。

グローバルにインストール:

npm install -g appium@next
复制代码

2番目の方法はローカルインストールで、煩わしさが少なくなります。Appiumは指定されたディレクトリにインストールされ、appiumコマンドはディレクトリに入った後にのみ実行できます。これは、複数のバージョンの管理に適しています。まず、ローカルディレクトリappium_serverを作成し、ディレクトリを入力して、次のコマンドを実行します。

npm install appium@next
复制代码

インストール後、ローカルappiumサービスを直接実行します。ローカルサービスは、node_modulesディレクトリでappiumコマンドを入力して直接開始するか、npxで実行できます。

node_modules\.bin\appium
# 或者
npx appium
复制代码

操作が完了すると、デフォルトのポート4723にサービスの開始を求めるプロンプトが表示されます。2.0では独立したシステムとしてドライバーとプラグインのバインドが解除されているため、サーバーは起動後にドライバーとプラグインなしのプロンプトを表示します。

C:\Desktop\appium_server>node_modules\.bin\appium
[Appium] Welcome to Appium v2.0.0-beta.23 (REV HEAD)
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[Appium] No drivers have been installed. Use the "appium driver" command to install the one(s) you want to use.
[Appium] No plugins have been installed. Use the "appium plugin" command to install the one(s) you want to use.
复制代码

パート3:テストドライバーをインストールする

Appium 2のテストドライバーは個別に管理され、デフォルトではテストドライバーはインストールされていません。すべてのドライバーは、appiumドライバーサブコマンドを使用して管理されます。公式に利用可能なドライバーもたくさんあります。

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/aef6c5ce0e4e43ed95c7e698235d462e~tplv-k3u1fbpfcp-zoom-1.image

今、私は一般的に使用されるAndroidドライバーuiautomator2とiOSドライバーxcuitestのみをインストールします。

appium driver install uiautomator2
appium driver install xcuitest
复制代码

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/57fe720511134467b054d5638b2a57b5~tplv-k3u1fbpfcp-zoom-1.image

ステップ4:テストスクリプトを開始します

from appium.webdriver import Remote
caps = {
    "platformName": "Android",
    "deviceName": "Android Emulator",
    "automationName": "UiAutomator2",
    "app": file
}
driver = Remote(desired_capabilities=caps, 
                command_executor = '<http://127.0.0.1:4723>')
复制代码

Pythonプログラムを使用してアプリを起動します。使用するPythonライブラリはAppium-Python-Clientです。最新バージョンをインストールすることをお勧めします。2.0のインターフェイスプレフィックスはhttp://127.0.0.1:4723/wd/hubで はなくなり、/wd/hub削除され、ip:ポート番号に直接アクセスできることに注意してください。以前のデフォルトを引き続き使用する場合アドレス、あなたはそれを見つけることができないというプロンプトが表示されます。ルートへ。

[debug] [HTTP] No route found for /wd/hub/session [HTTP] <-- POST /wd/hub/session 404 10 ms - 211
复制代码

要約する

Appium 2.0はまもなく正式にリリースされます。アーリーアダプターを試して、新機能に慣れてください。

私はJiushanです。患者さんに読んでいただきありがとうございます。またお会いしましょう。

おすすめ

転載: juejin.im/post/7082396199805779976
おすすめ