1. テスト オブジェクト
Appium は、iOS、Android デバイス、および Windows デスクトップ プラットフォーム上のネイティブ、モバイル Web、およびハイブリッド アプリケーションを自動化するためのオープン ソース ツールです。
「ネイティブ アプリケーション」とは、iOS、Android、または Windows SDK で作成されたアプリケーションを指します。
「モバイル Web アプリケーション」は、モバイル ブラウザでアクセスされるアプリケーションです (Appium は、iOS の Safari、Chrome、Android の組み込みブラウザをサポートしています)。
「ハイブリッド アプリ」には、Web コンテンツと対話するために使用されるネイティブ コントロールである「WebView」のラッパーが付属しています。
重要: Appium はクロスプラットフォームです。同じ API を使用して複数のプラットフォーム用のテストを作成し、iOS、Android、および Windows テスト スイート間でコードを再利用できます。
2. サポートされているプラットフォームと言語
● appium はクロスプラットフォームであり、OSX、Windows、Linux システムをサポートしています。これにより、テスターは同じ API セットを使用して、異なるプラットフォーム (iOS、Android) 上で自動テスト スクリプトを作成できるようになり、iOS と Android のテスト スイート間でのコードの再利用性が大幅に向上します
#● appium は複数の言語をサポートします。クライアントが http リクエストをサーバーに送信できる限り、C/S 設計モード3. 動作原理APPIUM IOS の動作原理図は、IOS APPIUM のプロセス全体の動作原理を示しています。 APPIUM Android 側の動作原理 Android APPIUM を見てみましょう。プロセス全体の動作原理: 説明: 矢印全体が完成した命令ループを指しますwebdriver スクリプト自動テスター自身が必要です。対応するテスト スクリプトを作成します。 JSON ワイヤ プロトコル、インストゥルメント、UiAutomator4、インストール ツール# などのテスト言語について学習することをお勧めします。 Python として● appium クライアント##● appium サーバー
##● モバイル デバイス、仮想マシンを使用する場合は、それをインストールする必要があります##5、環境設定
( 1) Android SDK をインストールします
1. Android SDK (ソフトウェア開発キット) は、アプリケーションを構築、テスト、デバッグするための Android API ライブラリと開発ツールを提供します。 Android を開発して実行するためのアプリケーション ソフトウェア
#2. adb、aapt、uiautomatorview などの小さなツールを提供します
3. Android エミュレータを使用してデバイスをテストします。この手順はスキップしないでください。
( 2) appium Server をインストールします
1. Appium 公式 Web サイト: https://pium.app/downloads/
2. appium インストール パッケージ (AppiumForWindows. zip, appium.dmg)
3. appium 環境変数のインストールと設定
(3) python-client のインストール
1. まず、Python などのプログラミング言語をインストールします。 language
#2. Appium-Client をインストールします。Python を使用している場合は、pip を使用してインストールできます: pip install Appium-Python-Client##6. アプリケーションと操作
①appium プロセスの呼び出し
1. モバイル デバイスのパラメータを設定し、どのモバイル デバイスを呼び出したいかをサーバーに伝えます
2. 電話機に適用されているコントロールを取得し、対応するコントロールを指定します
#3. クリック、パラメータの入力など、表示されるコントロールを取得します。#最初のステップは、携帯電話デバイスのパラメータを設定することです
Appium の望ましい機能の基本構成は次のとおりです:
#Android 環境
##importunittestfrom appium import webdriverdesired_caps = {}desired_caps['platformName'] = 'Android'desired_caps ['platformVersion'] = '4.2'desired_caps['deviceName'] = 'Android エミュレータ'desired_caps['app'] = PATH('../../.. /apps/selendroid-test-app.apk')desired_caps['appPackage'] = packagedesired_caps['appActivity'] = activityself.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)共通パラメータ説明:# deviceName: Android エミュレータ、iPhone シミュレータなどの起動デバイスを指定します。 # AutomationName: オートメーション エンジンを指定します。デフォルトは appium です。 ● platformName: モバイル プラットフォーム (Android または iOS) を指定します。● platformVersion: プラットフォームのシステム バージョンを指定します。たとえば、Android システムのバージョンを 4.2# として指定します。 appActivity: テストするアプリのアクティビティ。ネイティブ アプリの場合は、「.」# appPackage: パッケージを追加することに注意してください。名前 (パッケージ) 情報2 番目のステップは、モバイル アプリケーションのコントロールをキャプチャすることですAndroid SDK 組み込みツール uiautomatorviewer.bat を使用して、モバイル アプリケーションの制御パラメーター (ツールは /tools/bin/ ディレクトリにあります) 1. ID の配置使用方法:
driver.find_element_by_id('com.android.contacts: id/three')
2. 名前の配置
使用方法:
el = self.driver.find_element_by_name('不在着信') el = self.driver.find_elements_by_name('不在着信')
3. クラス名の位置
#使用法: els = self.driver.find_element_by_class_name('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')4. アクセシビリティ ID の配置 使用方法: el = self.driver.find_element_by_accessibility_id('三') el = self.driver .find_elements_by_accessibility_id( '三')5. android uiautomator の位置決め
##使用方法:
el=self.driver.find_element_by_android_uiauTomator( 'new UiSelector( ).description(星印 ")')
els=self.driver.find_elements_by_android_uiauTomator('new UiSelector().clickable(false)')
ステップ 3 、操作制御
1.scroll
scroll(self,origin_el,destination_el):
要素origin_elから要素destination_elまでスクロール
例: driver.scroll(el1, el2)
使用法: driver.scroll(el1,el2)
2.tap
tap(self, places,duration=None):
指をシミュレートするクリック (最大 5 本の指)、保持時間 (ミリ秒) を設定できます。
例: driver.tap([(100, 20), (100, 60), (100 , 100)], 500 )
使用法: driver.tap([(x,y),(x1,y1)],500)
3.スワイプ
スワイプ(self, start_x, start_y、end_x、end_y、duration=None):
ポイント A からポイント B までスワイプします。スライド時間はミリ秒です。
例: driver.swipe(100, 100 , 100, 400)
使用法: driver.swipe(x1,y1,x2,y2,500)
4.keyevent
keyevent(self, keycode, metastate= None):
キー コードを送信 (Android のみ)、キー コードは URL
Usage: driver.keyevent('4')
5 にあります。press_keycode
press_keycode(self, keycode, metastate=None):
キーコードを送信します (Android のみ)。キーコードは URL にあります
Usage: driver.press_ keycode('4 ')
6.text
text(self):
要素のテキスト値を返します
Usage:element.text
7.click
click(self):
要素をクリックします
Usage:element.click()
8.get_attribute
get_attribute(self, name):
要素の関連する値を取得する
使用法: element.get_attribute("name")
9.size
size(self):
要素のサイズ (高さと幅) を取得します
使用法 driver.element.size
10.page_source
page_source(self):
現在のページのソースを取得します
使用法: driver.page_source
11.quit
quit( self):
スクリプトを終了し、関連する各ウィンドウの接続を閉じる
例: driver.quit()
実行結果の判定
ユースケース後が実行されると判断が必要です合格するか否かを判断するには、期待する結果と比較する必要があります通常、特定のフラグが表示されるかどうか、または特定の要素のテキスト値が以下と等しいかどうかを確認するためにアサートを選択できますスクリーンショットを撮って参考画像などと比較することもできます。
以上がAppium フレームワークの知識ポイントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。