4

Selenium WebDriver と Java を使用して、Nexus 10 (Adndroid 4.2) で自動テストを実行しています。私が直面しているエラーは次のとおりです。

XMLHttpRequest cannot load 'URL1'. Origin 'URL2' is not allowed by Access- Control-Allow-Origin. at null:1
  • URL1 - json に基づくバックエンド。
  • URL2 - フロントエンド。

このエラーは、FireFox、Chrome、IE 10 では発生しません。ただし、Android の WebDriver では常に発生します。そのため、システムにログインできません。WebDriver は、クリック、sendKeys などを実行できます。

質問は次のとおりです。この問題を回避するための回避策はありますか? WebDriver 用に変更する必要がある設定はありますか? 以前にこのようなことに直面した人もいるかもしれません。提案をいただければ幸いです。

apk 2.21.0 と 2.32.0 を試しました。

4

3 に答える 3

1

私はあなたのコードを正確に知らないので、問題をどのように解決できると思うかについての説明のみを提供します。それを本当の答えとは見なさず、試してみてください:)

私は時々この問題を抱えていましたが、通常はCORS機能を使用してサーバーで修正できます。使用しているサーバーアプリケーション/フレームワークによっては、このCORSを別の方法で使用しますが、基本的には応答を記入する必要があります情報を適切に追跡するサーバーからのヘッダー:

Access-Control-Allow-Origin
Access-Control-Allow-Methods
Access-Control-Allow-Headers

非常に「オープンな」構成は次のようになります。

"Access-Control-Allow-Origin=*
"Access-Control-Allow-Methods=GET, POST, PUT, DELETE, OPTIONS
"Access-Control-Allow-Headers=Content-Type, Authorization
于 2013-09-27T09:07:07.453 に答える
0

私の場合、それは Web ソケットの問題でした。アプリケーションは Web ソケットに基づいています。ポイントは、Android 4.4 と Selenium が正確にネイティブの Android ブラウザを使用してテストを実行するまで、ネイティブの Android ブラウザはソケットをサポートしないということです。

Android 4.4 のエミュレーターで同じことをテストしましたが、すべて正常に動作します。みんな助けてくれてありがとう。

于 2013-11-05T15:33:56.313 に答える