2

Selenium WebDriver、Microsoft Team Foundation Server、NUnit、および Chrome/ChromeDriver に問題があります。誰かが洞察を提供したり、調査の方向性を示してくれることを願っています。現在、私はこの問題に悩まされています。

問題の詳細 -

Google Chrome をテスト ブラウザーとして使用して、自動化されたビルド プロセス (Microsoft Team Foundation Server) によってテストが呼び出されると、セレン テストの自動化がハングすることがわかりました。基本的に、TFS は MSBuild を介してビルドし、次に NUnit を呼び出します。これにより、私の Selenium テストが実行されます。Windows タスク マネージャー (およびビルド ログ) で、nunit-console、nunit-agent、Google Chrome、および ChromeDriver プロセスが起動されていることを確認できますが、プロセスがハングしているように見えます。

繰り返しますが、これは、テスト対象のブラウザとして Google Chrome を使用して、ビルド マシンでテストが自動的に開始された場合にのみ再現されます。TFS を実行しているアカウントが管理者であることを確認しました。自動化の実行/ビルド プロセスのブラウザーとして Firefox を使用すると、この問題は発生しません。

私はコードにたくさんのデバッグ ステートメントを書き、ハングを次のような行に絞り込みました。

IWebElement element =driver.FindElement(By.XPath(strXpath));

上記のステートメントの strXpath 値は次のとおりです。

//ul[contains(@class,'topnew')]

By セレクターを変更して、このような css クラスまたは Id を持つ要素を検索しようとしましたが、まだ問題が発生します。

element = driver.FindElement(By.ClassName("topnew"));

ChromeDriver ログの最後のいくつかのステートメントを次に示します。

[157.979][FINER]:   Waiting for all views to stop loading...
[216.963][FINE]:    Command received (/session/43fb268cae9e2131577d6fdddedb5c7f/refresh
[216.963][FINER]:   Waiting for all views to stop loading..

これが私たちのビルドマシンで実行されているソフトウェアです-

Selenium version 2.18.0.0 (I have also tried 2.14.0.0) using the .Net binaries (the tests are written in C#)
Nunit version 2.5.9.10348
Windows Server 2008 R2
Chrome version 16.0.912.77
ChromeDriver.exe version 18.0.995.0 (windows version)
Microsoft Team Foundation Server 2010 – version 10.0.30319 

回避策として、MSBuild に powershell スクリプトを呼び出させ、NUnit を呼び出すようにしましたが、問題は解決しません。

4

1 に答える 1

2

これは既知のバグです。gevent タイムアウトを使用して呼び出しをラップすることになったので、chromedriver がロックした場合は、単純にそれを強制終了して再起動できます。

于 2012-05-12T02:43:10.337 に答える