17

FFバージョン19を使用しています

昨日まではすべて正常に動作していましたが、突然今日の朝にこのエラーが発生し始め、以前に実行していたのとまったく同じコードがあり、変更はありません

エラーメッセージ:

Test 'M:.TestCases.12' failed: Failed to start up socket within 45000
    OpenQA.Selenium.WebDriverException: Failed to start up socket within 45000
    at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.ConnectToBrowser(Int64 timeToWaitInMilliSeconds)
    at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start()
    at OpenQA.Selenium.Firefox.FirefoxDriver.StartClient()
    at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile, TimeSpan commandTimeout)
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile)
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxProfile profile)

0 passed, 1 failed, 0 skipped, took 145.80 seconds (Ad hoc).

ここに私のソースコードがあります:

public static IWebDriver GetDriver()
        {
            switch (Common.BrowserSelected)
            {
                case "ff":
                    FirefoxProfile profile = new FirefoxProfile();
                    profile.SetPreference("network.http.phishy-userpass-length", 255);
                    profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", url);
                    drv = new FirefoxDriver(profile);
                    break;
                case "ie":
                    var options = new InternetExplorerOptions();
                    options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
                    DesiredCapabilities capabilities = new DesiredCapabilities();
                    capabilities.SetCapability(CapabilityType.AcceptSslCertificates, true);
                    drv = new InternetExplorerDriver(options);
                    break;
                case "chrome":
                    //_driver = new ChromeDriver();
                    break;
            }
            return drv;
        }
4

5 に答える 5

18

Firefox 19 の「サポート」が Selenium の最新バージョンに追加されました。.NET を使用しているため、この記事の時点で最新版を直接ダウンロードできるのはバージョン 2.31.2 です。

selenium-release.storage.googleapis.com/index.html

于 2013-03-06T15:14:07.087 に答える
6

この問題は Firefox 43 と Selenium 2.48 で発生します。Selenium ドライバー サーバーが 32 ビット プロセスで実行されているときに、64 ビット バージョンの Firefox を起動すると発生します。

原因は、webdriver サーバーがポート 7055に接続しようとすることです。このポートは、Firefox 実行可能ファイルで実行される webdriver によって開かれる必要があります。しかし、www.sysinternals.com のTcpViewを見ると、Firefox がこのポートを開いていないことがわかります。したがって、ドライバーはタイムアウト (45 秒) が経過するまで待機します。

これは、Windows ファイアウォールを完全にオフにした後でも発生します。

インターネットで見つけたすべての投稿は役に立たない: Selenium のアップグレード、Firefox のダウングレードなど..

しかし、同じ Firefox 43 の 32 ビット版をインストールすると動作します。Firefox 32ビットがポートを正しく開く方法をTcpViewで確認します。

Firefox Selenium webdriver ポート 7055

私のコードでは、

FirefoxProfile Prof = new FirefoxProfile();
FirefoxBinary  Bin  = new FirefoxBinary(sBrowserExe);
mDriver = new FirefoxDriver(Bin, Prof);

sBrowserExe = "C:\Program Files\Mozilla Firefox 43\firefox.exe" 64 ビット版の Firefox 43 を起動すると、タイムアウト例外が発生します。

sBrowserExe = "C:\Program Files (x86)\Mozilla Firefox 43\firefox.exe" Firefox 43 の 32 ビット バージョンで起動し、動作します。


更新: Firefox の開発者は、Selenium サポートを完全に壊しました。48 以降の新しい Firefox バージョンでは、すべての拡張機能をインストールするためにデジタル署名が必要です。

https://wiki.mozilla.org/Addons/Extension_Signing

私が理解できないのは、Selenium の人々が現在の Selenium ドライバーの署名を取得できない理由です??

Firefox バージョン 47.0 には、Selenium で使用できないというバグがあります。このバグは、バージョン 47.0.1 で修正されています。

48.0 以降の Firefox バージョンでは、古い Selenium ドライバーはインストールされなくなりました。これらは Marionette (= Gecko) ドライバーで自動化する必要があります。

問題は、Marionette がまだベータ版であり、不足している機能が多数あるため、現在、新しい Firefox バージョンを自動化するソリューションがないことです。

ここでわかるように、新しいドライバーにはバグがいっぱいです: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver/status

于 2016-03-07T17:14:03.230 に答える
4

Webdriver をアップグレードしても問題が解決しない場合は、FireFox をダウングレードして問題を解決してください。

于 2013-05-31T09:47:32.620 に答える
1

使用している Selenium IDE のバージョンは? Firefox のバージョンを下げてみてください。Selenium IDE のリリース ノートは、以下のリンクに記載されています。

https://code.google.com/p/selenium/wiki/SeIDEReleaseNotes

お役に立てれば。

于 2013-05-28T05:59:31.547 に答える
0

Nuget パッケージ マネージャーにすべての更新プログラムをインストールします。IDE を再起動します。

テストのために、Firefox のバージョンをダウングレードすることはお勧めしません。しかし、最後から 2 つ目のバージョンのダウングレードは良さそうです。

このソリューションは私にとってはうまくいきました。

于 2016-10-10T11:21:46.180 に答える