3

Codedui を使用したクロス ブラウザー テストで問題が発生しました。以下のコードを使用して、

Process.Start("firefox", url);
BrowserWindow.CurrentBrowser = "firefox";
Browser = BrowserWindow.Launch(new System.Uri(url));
Keyboard.SendKeys("^{0}");

IE で開発されたすべてのコード。しかし、今はfirefoxまたはchromeでコードを実行する必要があります.forfoxでコードを実行します.ここではこのコードを使用しています

Browser = BrowserWindow.Launch(new System.Uri(url));

この行で、「Firefox への接続中にエラーが発生しました」のようなエラーが発生しました。この問題を解決するにはどうすればよいですか?Selenium コンポーネントもインストールしました。この行を削除すると、「ブラウザが見つかりません」などの別のエラーが表示されます...助けてください。

4

4 に答える 4

0

試す

BrowserWindow.CurrentBrowser = "firefox";
BrowserWindow WebApp;
WebApp.CopyFrom(BrowserWindow.LaunchUrl(new System.Uri(url)));

私は次のようなものを設定しましたが、うまくいきました(UIMapをバイパスして、すべてを手作業でコーディングしています)。

public class WebApp : BrowserWindow
{
   private string _url;

   public WebApp(string url)
   {
      //define search properties using this keyword so the web application can be treated as a browser
      _url = url;
      BrowserWindow.CurrentBrowser = "Chrome";
      this.CopyFrom(BrowserWindow.Launch(new Uri(url));
   }
}

もちろん、ブラウザーが使用するパラメーター、またはブラウザーを起動するかどうかのパラメーターを追加することで、コンストラクターをオーバーロードできます。

Web アプリケーションを BrowserWindow としてセットアップすることにより、1 つを開いて準備を整えることができ、再生エンジンはそれを見つける必要があります。これは、(IE で) テストを行うときに役立つことがわかりました。

Selenium プラグインが必要です。このプラグインは、録音ではなく再生にのみ機能します。

乾杯!

于 2014-04-11T12:55:45.583 に答える
0

この環境では、次のようにして Launch() メソッドをセットアップします。

public void LaunchBrowser(string uri)
{
    BrowserWindow.CurrentBrowser = "firefox";
    BrowserWindow myBrowser = BrowserWindow.Launch(new System.Uri(uri));
}

注意すべきことの 1 つは、Firefox プロセスがバックグラウンドで既に実行されている場合、WebDriver は新しいインスタンスを起動しないため、LaunchBrowser() が呼び出される前に、Firefox のすべてのインスタンスがシャットダウンされていることを確認してください。バックグラウンドで実行し続けることができる Java プラグインがあることがわかったので、必要のないプラグインを無効にしてみてください。タスクマネージャーを確認して、これが当てはまる場合は、ここを参照してください。

于 2014-08-21T16:24:27.970 に答える