Appium の紹介
環境設定
アピウムの用途
APP要素の位置決め操作
Appium の共通要素の配置方法
名前 | 価値 |
---|---|
ID | id 属性値 |
クラス | クラス属性値 |
xpath | xpath式 |
Selenium で要素を配置する方法は何ですか?
id、name、class_name、xpath、css_selector、link_text、partial_link_text、tag_name を通じて要素を見つけます。通常、ID がある場合はその ID を使用し、CSS または XPath を使用して位置を特定します。もちろん、位置を特定する際には、ページ要素に対応する XPath 情報を取得するためにブラウザに firebug firepath をインストールする必要があります。
APP要素情報操作API
1. 要素をクリックします。
ele.click()
2. データを入力ボックスに送信します
メソッド: send_keys(vaue) # 値: 入力ボックスに送信する必要があるテキスト
3. 入力ボックスの内容をクリアします
- メソッド:clear()
4. 要素のテキストコンテンツを取得する
- メソッド: テキスト
5. 要素の属性値を取得する
-
メソッド: get_attribute(value) # value: 要素の属性
6. 画面上の要素の座標を取得する
- 方法: 場所
7. アプリのパッケージ名とスタートアップ名を取得します。
- パッケージ名の取得メソッド: current_package
APP要素イベント操作API
1. プレフィックスコード
from appium import webdriver
# server 启动参数
desired_caps = {}
# 设备信息
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# app的信息
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
# 声明我们的driver对象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
2.スワイプスライドイベント
ある座標位置から別の座標位置へのスライドは、2 点間のスライドのみとなります。
- 方法:スワイプ(start_x、start_y、end_x、end_y、duration=None)
3. スクロールスライドイベント
ページが自動的に停止するまで、ある要素から別の要素にスライドします。
- メソッド:scroll(origin_el, destination_el)
4.ドラッグドラッグイベント
ある要素から別の要素にスワイプすると、画面上の最初の要素の元の位置が 2 番目の要素に置き換えられます。
- 方法:ドラッグアンドドロップ(出発地エル、目的地エル)
5. バックグラウンドイベントに配置されたアプリケーション
アプリはホット スタートをシミュレートするためにバックグラウンドに配置されます
- 方法:background_app(seconds)
APPは高度なジェスチャー操作をシミュレートします
1. プレフィックスコード
from appium import webdriver
# server 启动参数
desired_caps = {}
# 设备信息
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# app的信息
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
# 声明我们的driver对象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
2. フィンガータッピング操作
画面上での指のタップをシミュレートします
- メソッド: Tap(要素=なし、x=なし、y=なし)
- メソッド: Perform() # サーバーにコマンドを送信して操作を実行します
- パラメータ:
1.element: 配置された要素
2.x: 要素の左上隅を基準とした座標。通常は要素の X 軸座標が使用されます。
3.y: 要素の Y 軸座標は通常、使用済み
3. 指で押す操作
指で画面を押すことをシミュレートし、押すと離れることに対応します。
- メソッド:press(el=なし、x=なし、y=なし)
- メソッド: release() # アクションを終了し、指を画面から離します
4. 操作を待ちます
- メソッド: wait(ms=0)
5.指で長押し操作
携帯電話をシミュレートして、画面を一定時間押し、その後、それに応じて押して放します。
- 方法:long_press(el=なし、x=なし、y=なし、duration=1000)
6. 指の移動操作
携帯電話のスライド操作をシミュレート
- 方法:move_to(el=なし, x=なし, y=なし)
携帯電話操作API
携帯電話のいくつかの一般的な設定機能を操作します。
1. プレフィックスコード
from appium import webdriver
# server 启动参数
desired_caps = {}
# 设备信息
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# app的信息
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
# 声明我们的driver对象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
2.携帯電話の時間を取得する
- メソッド: device_time
- コード:
# 获取当前手机的时间 print(driver.device_time)
3. 携帯電話の幅と高さを取得する
携帯電話の幅と高さを取得すると、幅と高さに基づいていくつかの調整操作を行うことができます。
- 方法:get_window_size()
- コード:
print(driver.get_window_size())
4. キーをデバイスに送信します
ホームボタン、音量ボタン、戻るボタンなどのシステムキー値の操作をシミュレートします。
- パラメータ:
keycode: デバイスに送信されたキーコード
metastate: 送信されたキーコードに関するメタ情報、通常はデフォルト値 - ビジネス シナリオ:
1. 設定を開きます。
2. 音量を上げるキーを複数回押します。 - コード:
for i in range(3): driver.keyevent(24)
5.携帯電話の通知バーを操作する
携帯電話の通知バーを開いて、関連情報と通知バーの要素の操作を取得します。
- 方法:open_notifications()
- ビジネスシナリオ:
1. 設定を開始する
2. 通知バーを開く - コード:
driver.open_notifications()
6. 携帯電話の現在のネットワークを取得します
電話機が現在接続しているネットワークを取得する
- 方法:network_connection
- ビジネス シナリオ: 携帯電話の現在のネットワーク モードを取得する
- コード:
print(driver.network_connection)
7. モバイルネットワークを設定する
携帯電話のネットワーク モードを変更し、特殊なネットワーク条件下でテスト ケースをシミュレートします。
- 方法:set_network_connection(connectionType)
8. 携帯電話のスクリーンショット
携帯電話の現在の画面をキャプチャし、指定した形式で設定した場所に画像を保存します
- 方法:get_screenshot_as_file(filename)
スクリプトの記録
「記録開始」ボタンをクリックしてスクリプトの記録を開始します。
-
上部ナビゲーション バーの左側にある最初の [要素の選択] ボタンをクリックして検索バーを選択し、右側の [クリック] ボタンをクリックして操作します (記録プロセスでは、最初に左側の APP 要素を選択します)記録ウィンドウの横に移動し、ウィンドウの右側に操作方法を記録します)。
-
録音終了後、「録音停止」ボタンをクリックすると、録音ウィンドウ右上にオペレーションコードが同時に表示されますので、コードの種類を選択し、テンプレートコードを正式コードに変換し、Pycharmにコピーしてください。
-
コードを pycharm にコピーした後、各操作またはページ切り替えに待ち時間を追加することが最善です。そうしないと、ネットワーク速度、APP 設計の問題、またはその他の理由により次のページに間に合わず、APPIUM が実行できなくなります。ページ要素と位置を取得するための要素は失敗し、pycharm の実行時にエラーが報告されます。コードを編集した後、pycharm の実行ボタンをクリックすると、APPium が電話機上でスクリプトを自動的に実行します。