2017-05-13 10 views
0

私は自動化テストの初心者です。私は私のアンドロイドとアイオスのアプリケーションのための共通のテストプロジェクトを記述しようとしています。 iOSとAndroidの両方のアプリは、ほぼ同じUIとフローを持っています。私はプラットフォームに基づいてAppiumドライバをどのようにインスタンス化できるか知りたい。 現在、私はboolean変数isAndroidを持っていると思っています。これは、testsを実行する前にコード内で手動で変更する必要があります。isAndroidに基づいてAppiumDriverまたはIOSDriverにAppiumDriverをインスタンス化し、要素は@AndroidFindbyまたは@ IOSFindBy ターミナルからAppiumを起動するときに、パラメータにコードの情報を取得する方法があるので、手動でisAndroid変数を変更する必要はなく、まったく同じテストコードが両方のプラットフォームで実行されます。プラットフォームに基づいてAppium Driverをインスタンス化する方法は?

答えて

0

プラットフォームを試してみて、例外をキャッチしてもう一度試してみませんか?

try: 
    driver = webdriver.Remote('http://localhost:4723/wd/hub', ios_caps) 
    run_iOS_tests(driver) 
except selenium.common.exceptions.WebDriverException: 
    driver = webdriver.Remote('http://localhost:4723/wd/hub', android_caps) 
    run_android_tests(driver) 

そうでなければ、(androidios)に接続されているどのようなデバイスを参照するためにいくつかの外部メソッドを使用する必要があります。

関連する問題