3

私はSelenium2WebDriverを使用しています。UnitTestプロジェクトの代わりに、次の理由でWebサイトから開始します。

  1. 24時間ごとに自動的に実行されます。System.Threadingを使用してスケジューリングコードを作成しました。
  2. 顧客が必要なときに中間的に実行できるように、UIを顧客に提供します。
  3. 実行するたびに、テスト結果の一部として電子メールが送信されます。

私のターゲットサイトは次のとおりです。http ://www.vroomvroomvroom.com.au

すべてのSeleniumコードを含むクラスを作成しました。default.aspxのページ読み込み時にSystem.Threadingを使用してそのクラスを呼び出します。

F5またはCtrl+F5を押してVisualStudioからdefault.aspxを実行すると、つまりVisualStudio開発サーバーで正常に動作しますhttp://localhost:3251/default.aspx

しかし、デフォルトのポート(80)を使用してIISから直接実行しようとするとhttp://localhost/seleniumTest/default.aspx、次の監視/エラーで失敗します。

  1. Seleniumコードを拡張して実行しますが、ブラウザーは表示されません。
  2. いくつかの手順を実行すると失敗しますNo response from server for url http://localhost:7094/hub/session/4bbe4b0c-aeee-4fa3-8bc0-aae47c6869af/element

私が達成しようとしていることは可能です。

参考:さらに詳細が必要な場合はお知らせください。

4

1 に答える 1

10

私は自分で解決策を見つけることができました。

基本的に、FirefoxDriverの代わりにRemoteWebDriverを使用する必要があります。手順:

  1. FirefoxDriverの初期化を次のようにRemoteWebDriverに変更します。

から変更する

IWebDriver driver = new FirefoxDriver();

DesiredCapabilities capability = DesiredCapabilities.Firefox();
Uri url = new Uri("http://REMOTE_IP:4545/wd/hub");
IWebDriver driver = new RemoteWebDriver(url, capability);

2. Selenium Standaloneサーバーをダウンロードし、〜を使用してコマンドプロンプトから起動します。

java -jar E:\Software\selenium-server-standalone-2.24.1.jar -interactive -port 4545

このアプローチには2つの利点があります。

  1. テストを実行するためにローカルIISを使用できます。
  2. テストはリモートで実行できます。SeleniumRCのドキュメントを参照してください。を使用してリモートでスクリーンショットを見ることができます

    REMOTE_IP:4545 / wd /hub/static/resource/hub.html

リモートフィールを向上させるために、その中で使用されているhub.htmlとclient.jsファイルのコードを変更することを考えています。

これが他の人にも役立つことを願っています。

ご参考までに:

  1. IPアドレスREMOTE_IPは、任意のリアルタイムIPアドレスまたはローカルホストに変更できます。ページリクエストを開始するときは、上記のポートを使用してください。
  2. スタンドアロンサーバーの開始/停止コードをテスト内に組み込むことができるため、バッチファイルを介して自動的に開始/停止されます。
  3. コマンドプロンプトを閉じないようにして、サーバーを実行し続けます。
于 2012-08-01T04:46:52.843 に答える