たとえば、私は持っています:
wd.findElement.By(name("searchBttn"));
ui xml スクリーン キャップのリソース ID は
com.aut.android:id/searchBttn
そしてAppiumはアイテムを見つけることができません。私はIDと名前で試しました。ここで他に試してみることができるものはありますか?行相関リストの直接行がどこかにありますか?
たとえば、私は持っています:
wd.findElement.By(name("searchBttn"));
ui xml スクリーン キャップのリソース ID は
com.aut.android:id/searchBttn
そしてAppiumはアイテムを見つけることができません。私はIDと名前で試しました。ここで他に試してみることができるものはありますか?行相関リストの直接行がどこかにありますか?
リソース ID で Appium の Android アイテムを見つけることができますが、リソース ID とともにパッケージ名全体を指定する必要があります。
wd.findElement.By(id("com.aut.android:id/searchBttn"));
少なくとも名前は私にとってはうまくいきます。IDの仕組みを調べようとしていますが、以下をご覧ください。
例: ボタンのテキストが「testbtn」に設定されている場合、次のコマンドで Appium からアクセスできます。
driver.findElement(By.name("testbtn")).click();
これは私にとってはうまくいきます、試してみてください。
編集: Appium 開発者の 1 人がここで述べているように、現在 Android では ID で要素にアクセスできないようです。
EDIT2: この機能が実装されました! 私が知ったように、Android から selendroid を使用して ID で要素にアクセスできるようになりました (これは Appium のサブ部分のようです)。
capabilities.setCapability("device", "selendroid");
テストクラスでは、代わりにセットアップ時に指定する必要がありますcapabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");
これで、ボタンにアクセスできます
driver.findElement(By.id("testbtn")).click();
ここでSelendroidの公式ドキュメントを見つけることができます