ホームページ  >  記事  >  運用・保守  >  Appium フレームワークの知識ポイントは何ですか?

Appium フレームワークの知識ポイントは何ですか?

王林
王林転載
2023-05-13 21:37:121003ブラウズ

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 フレームワークの知識ポイントは何ですか?

APPIUM Android 側の動作原理

Android APPIUM を見てみましょう。プロセス全体の動作原理:

Appium フレームワークの知識ポイントは何ですか?

説明:

矢印全体が完成した命令ループを指します

webdriver スクリプト自動テスター自身が必要です。対応するテスト スクリプトを作成します。

JSON ワイヤ プロトコル、インストゥルメント、UiAutomator

4、インストール ツール

# などのテスト言語について学習することをお勧めします。 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 環境

##importunittest

from appium import webdriver

desired_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'] = package

desired_caps['appActivity'] = activity

self.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. 名前の配置

Appium フレームワークの知識ポイントは何ですか?

使用方法:

el = self.driver.find_element_by_name('不在着信') el = self.driver.find_elements_by_name('不在着信')

3. クラス名の位置

Appium フレームワークの知識ポイントは何ですか?

#使用法:

els = self.driver.find_element_by_class_name('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')

4. アクセシビリティ ID の配置

Appium フレームワークの知識ポイントは何ですか?

使用方法:

el = self.driver.find_element_by_accessibility_id('三') el = self.driver .find_elements_by_accessibility_id( '三')

5. android uiautomator の位置決め

Appium フレームワークの知識ポイントは何ですか?##使用方法:

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 サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。