2016-04-19 7 views
3

Seleniumテストを実行しているGoogle Cloudに複数のWindows Server 2012マシンが設定されています。それらはNodeJSのMochaで動作しています。 ChromeとFirefoxは開始、実行中、終了は期待どおりですが、IE 11は終了しません。その結果、セレンサーバーが応答を停止し、IEのすべてのテストが失敗し始めます。ここでSeleniumテスト後にInternet Explorer 11が終了しない

は私のためのコードは、前に、私が設定した機能は、私は数日間の周りに検索したと異なる試してみました

{ 
    browserName: browser, 
    version: version, 
    screenResolution: resolution, 

    requireWindowFocus: true, 
    unexpectedAlertBehaviour: "dismiss", 
    ignoreProtectedModeSettings: false, 
    ignoreZoomSetting: false, 
    nativeEvents: true, 
    handlesAlerts: true, 
    javascriptEnabled: true, 
    enableElementCacheCleanup: true, 
    cssSelectorsEnabled: true, 
    usePerProcessProxy: false, 
    elementScrollBehavior: 0, 
    enablePersistentHover: false, 
    pageLoadStrategy: "normal", 

    ie: { 
    ensureCleanSession: true, 
    forceCreateProcessApi: true, 
    browserCommandLineSwitches: "-private" 
    } 
} 

以下の通りです

// Launches browser, opens homepage, and closes the popup. 
exports.beforeEach = function(capability) { 
    driver = utils.driver.launch(capability); 
    utils.driver.open(driver); 
    utils.driver.closePopup(driver); 
} 

exports.afterEach = function() { 
    driver.quit(); 
} 

各フックの後でdriver.close()、driver.quit()、IE設定、および機能設定の組み合わせですが、動作していないので、他に何を試していいのか分かりません。 IEは終了していないので、そのブラウザでテストするのは事実上不可能です。約3回のテストの後、サーバーは減速し、すべてのウィンドウを手動でログインして閉じる必要があります。

答えて

0

私たちがwebdriverコマンドでIEを閉じることができず、現時点ではストーンストーンになるので、なぜ私たちの言語の助けを借りることができないのですか?

try { 
Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe"); 
} catch (IOException e) { 
e.printStackTrace(); 
} 

は、ドライバコマンドでブラウザを閉じるために良いことが知られていますが、作品を得るまで、私たちは上記試すことができると思います。 :自分がコメントで@Sonnyで述べたよう this

は私がビルド前のイベントの両方を持っている「IEXPLORER.EXE」タスク

を殺すために必要があるかもしれません、 ムラリ

+0

ありがとうございます!これは、私たちがIEDriverServer.exeではなく "iexplore.exe"を殺さなければならないことを除いて、機能しました。 – Sonny

+0

ブラウザは閉じていますが、IEのインスタンスを作成すると、ImplicitWaitを提供していてもブラウザはすぐにブラウザを閉じてしまうため、コードを実行できません。あなたは私を助けてください –

+0

上記の答えでiexplorer.exeを使いましたか? sonnyが述べたように、iedriverserverの代わりにブラウザを殺すようにしてください。 –

3

ありがとう見ます

taskkill /f /fi "pid gt 0" /im IEDriverServer.exe 
    taskkill /f /fi "pid gt 0" /im iexplore.exe 
関連する問題