InternetExplorer8.0でのセレンテストの実行に問題があります。ジェンキンスに。テストに失敗すると、多くのIEDriverServer.exeが表示されます。
ログ内:「ターゲットマシンがアクティブに拒否したため、接続できませんでした」
問題は何ですか?
スクリーンショットへのリンク:多くのIEDriverServer
InternetExplorer8.0でのセレンテストの実行に問題があります。ジェンキンスに。テストに失敗すると、多くのIEDriverServer.exeが表示されます。
ログ内:「ターゲットマシンがアクティブに拒否したため、接続できませんでした」
問題は何ですか?
スクリーンショットへのリンク:多くのIEDriverServer
はい、以前はまったく同じ状況でしたが、真空計が言ったのと同じように行う必要があります。
TestCleanUp()メソッドで、driver.Quit()を呼び出す必要があります。その後、テストが失敗した場合、またはテスト本体で例外がキャッチされた場合でも、テストは適切に終了します。
[TestClass]
public class IEDriverTest {
private IWebDriver driver;
[TestInitialize]
public void Initialize() {
driver = new InternetExplorerDriver();
}
[TestMethod]
public void Test() {
// test steps
}
[TestCleanup]
public void CleanupTests() {
driver.Quit();
}
}
ただし、まれな状況で、TestInitialize時間(Visual Studio Testing Frameworkを使用)中に例外がキャッチされると、古いバージョンのIEDriverServerがハングすることがありました。次に、例外をキャッチしてdriver.Quit()を手動で呼び出す、少し特別な処理が必要になる場合があります。
driver.Quit()がどういうわけか機能しない場合。ieとIEDriverServerプロセスを手動で強制終了することもできます。ただし、これは避けることを強くお勧めします。
[TestCleanup]
public void Cleanup() {
KillProcessByName("iexplore");
KillProcessByName("IEDriverServer");
}
private void KillProcessByName(string processName) {
foreach (Process process in Process.GetProcessesByName(processName)) {
process.Kill();
}
}