一緒に書く習慣をつけましょう!「ナゲッツデイリーニュープラン・4月アップデートチャレンジ」に参加して2日目です。クリックしてイベントの詳細をご覧ください。
アプリページで実行する操作に関係なく、最初に操作する要素を見つける必要があります。たとえば、ボタンを直接クリックする場合は、最初にボタンを見つける必要があります。入力ボックスに何かを入力する場合は、最初に入力ボックスを見つける必要があります。
操作する必要のある要素を見つけるこのプロセスは、要素の配置と呼ばれます。
エレメントポジショニング機能
ほとんどのAPP操作プロセスでは、最初に操作する必要のある要素を見つける必要があります。このプロセスは要素の配置と呼ばれます。
Appiumでの要素の配置のための関数は、find_elementと呼ばれ、2つのパラメーターを渡します。最初のパラメーターは要素を見つける方法であり、2番目のパラメーターはこの方法の値です。たとえば、IDで要素を検索するには、最初のパラメーターにidを入力し、2番目のパラメーターにIDの値を入力します。
el = driver.find_element('id', 'value')
复制代码
取得したelは要素オブジェクトであり、要素の属性を取得するのは非常に簡単です。
el.text #获取元素文本
el.rect #获取元素坐标
el.get_attribute('clickable') #获取元素clickable属性
复制代码
要素測位ツール:uiautomatorviewer
では、idの値はどこで取得できますか?SDKにはtoolsディレクトリがあります。このディレクトリにはuiautomatorviewerというツールがあり、もちろんid属性を含む各要素の属性を表示できます。対応するファイルを直接見つけてクリックすると、そのインターフェイスが表示されます。
要素のプロパティを表示するには、要素の上にマウスを移動するだけで、各要素のプロパティが右側に表示されます。uiautomatorviewerツールをクリックするたびに、もっと面倒になりますよね?ショートカットアクセスメソッドを作成してデスクトップに配置します。必要な場合は、デスクトップ上のこのショートカットをクリックして開きます。
要素の配置
アプリ自動化テストの主な要素を見つけるには、いくつかの方法があります。
- MobileBy.XPATH
- MobileBy.ID
- MobileBy.ACCESSIBILITY_ID
- MobileBy.ANDROID_UIAUTOMATOR
- MobileBy.CLASS_NAME
idとxpathは、最も一般的に使用される2つの一般的な構文メソッドです。idを使用して検索してみてください。要素にid属性がない場合、またはidが一意でない場合は、xpath要素の配置方法を使用してください。
Xpathは、Webページとアプリページの両方で使用できる一般的なパスポジショニング言語です。さまざまな属性条件を組み合わせることで、ポジショニング式をより正確にすることができます。特定のXpathの使用法については、XPath要素のポジショニング方法を参照してください。
第二に、Android UiautomatorはJava言語での使用に適しており、他の言語の使用はあまり便利ではありません。必要に応じて、公式サイトでご利用いただけます。
ページのプロパティを確認し、コピーしたプロパティを関数に配置することで、要素を見つけることができます。たとえば、要素のIDが表示されるcom.keda.say:id/username
場合、対応するコードは次のとおりです。
driver.find_element('id', 'com.keda.say:id/username')
复制代码
Xpath式として転記することもできます。
driver.find_element('xpath', '//*[@id="com.keda.say:id/username"]')
复制代码
要素属性を取得
find_elementメソッドは要素を見つけた後、要素オブジェクトを取得します。これを使用して、要素の属性を取得したり、属性のメソッドと操作イベントを呼び出したりできます。
- element.location_in_view
- element.location
- element.rect
- element.text
- element.get_attribute('clickable')
要約する
状況に関係なく、UIオートメーションにfind_elementメソッドを使用している限り、要素の配置によって要素を取得し、後で要素に対して操作を実行できます。
私はJiushanです。患者さんに読んでいただきありがとうございます。またお会いしましょう。