2017-10-19 30 views
2

2つのネイティブアプリ(ハイブリッドではなく、ネイティブに反応する)は同じデザインを共有し、1つはAndroid(Java)用、もう1つはIOS(OC)用です。今私はこれらの2つのアプリのためのいくつかのテストを行う必要があります。私はAppiumでこれをやろうとしています。Appiumが要素を見つけるベストプラクティス

Appiumでは、要素を見つけるためのさまざまな方法を提供しています。両方のアプリのテストケースを書くには、私はAccessibilityIdを使うことができるようです。開発者にアンドロイドとiosの両方のプロジェクトに同じAccessibilityIdを追加するよう依頼すると、両方のアプリで同じテストコードを使用できるようになります。これはベストプラクティスですか?これは、アンドロイドとiosの両方に多くの努力をもたらす可能性があります。AccessibilityIdを追加するには

答えて

0

はい、アクセシビリティIDの使用が推奨されます。プラットフォーム間でIDが一致する必要はありません。

次のようにあなたのクラス定義でFindByタグと、これらの要素を定義することもできます。

@iOSFindBy(id = "send_button") 
@AndroidFindBy(id = "SEND") 
private MobileElement sendButton; 

をあなたのアクションコードは次のようになります。これらのタグと関連するもので

sendButton.click() 

詳しい情報は、することができPageFactory library docsにあります。

あなたのIDが一致した場合、あなたのアクションをインラインで実行することができます(以下の例を参照)。

driver.findElementById("send_button"); 

上記のすべては、ドキュメントに記載されているxpathsおよび他の属性を使用して実行できます。

+0

tnx。サンプルコードはJava、右ですか? – Leon

+0

はい、そうです。私はそれがAppiumのための最高のサポートされた言語であることを発見しました。 –

0

uiautomatorviewerを使用して要素を見つけることができます。

+0

アンドロイドとiosの両方に1つのテストコードが必要です – Leon

0

同じアプリケーションが2つの異なるプラットフォームで動作するため、プロジェクトにその贅沢がある場合は同じAccessibilityIdを持つことができます。つまり、iosとAndroidの両方の開発者がそれに対応しています。 それ以外の場合は、異なるオブジェクトリポジトリ/ capbilitiesを持つ同じ論理テストスクリプトを使用すると役立ちます。

関連する問題