5

Appium を使用して iOS テストを自動化しようとしています。ユーザーの位置情報を必要とし、最初の起動時に位置情報の許可を要求するアプリがあります。Selenium を新規インストールに接続しようとすると、ポップアップが表示されて失敗します。ポップアップを手動で受け入れると、Seleium と Appium は確実に接続され、テストを続行できます。

これはサーバー出力のコピーです。

error: Instruments did not launch successfully, failing session
error: Failed to start an Appium session, err was: Instruments did not launch successfully--please check your app paths or bundle IDs and try again
info: Responding to client with error: {"status":6,"value":{"message":"A session is either terminated or not started","origValue":"Instruments did not launch successfully--please check your app paths or bundle IDs and try again"},"sessionId":"faccc84b-fa8e-4137-ad77-f0c79d09b045"}
POST /wd/hub/session 500 13605ms - 270
debug: - - - "POST /wd/hub/session HTTP/1.1" 500 270 "-" "Ruby"
info: Clearing out appium devices

およびセレン出力のコピー:

Selenium::WebDriver::Error::NoSuchDriverError:
       A session is either terminated or not started

次のコマンドで Selenium を初期化しています。

@driver = Selenium::WebDriver.for(:remote, :desired_capabilities => capabilities, :url => server_url)

どんな助けでも大歓迎です!

4

4 に答える 4

2

このための appium アップデートがありました。これらのアラートを常に受け​​入れる機能を追加するだけで、アプリ内のあらゆる場所で障害が発生するのを回避できます。Java の例:

        capabilities.setCapability("autoAcceptAlerts", true);
于 2014-02-21T16:23:57.793 に答える
1

これは Instruments の既知の問題だと思います。アプリの起動から約 8 秒以内に位置情報サービスがポップアップすると、何らかの理由で UIAutomation がポップアップを処理しません。詳細については、Appium メーリング リストのこのディスカッションを参照してください。

これまでに提案された唯一の解決策は、位置情報サービスのチェックをアプリの起動後 8 秒まで遅らせることです。

于 2013-05-03T20:53:00.950 に答える
0

また、試すことができます:

アプリを起動し、場所を手動で受け入れてから、パスからテスト フォルダーにファイルをコピーします。

パス - /Users/your_username/Library/Application Support/iPhone Simulator/7.0/Library/Caches/locationd/clients.plist

その後、毎回テストを開始する前に、そのファイルをその場所にコピーして戻します。場所のポップアップは表示されません。

BR。アレク。

于 2013-10-07T20:49:28.040 に答える