私の問題は、Web サイトをテストしているときに、テスト後に FF Web ドライバーがブラウザー ウィンドウを閉じないことがありますが、多くのウィンドウが開いてメモリがなくなるまでテスト プロセスを続行します。driver.close() と driver.quit()、およびそれらの両方を使用してみましたが、時々動作しないようです。ドライバーを強制的に終了させる方法はありますか? プロセスを強制終了することを検討しましたが、開始された Webdrivers の PID を取得できないようです...この問題にまだ遭遇したのは私だけですか?
3 に答える
さて、あなたのコードがどのように見えるかはわかりませんが(提供していないため)、この種のテストの通常の流れは、次のメソッドを持つクラスを持つことです。
public class TestClass {
private WebDriver driver;
@BeforeClass
public void setUp() {
driver = new FirefoxDriver(); //or any other one
}
@Test
public void test1() {}
@Test
public void test2() {}
@AfterClass
public void tearDown() {
driver.quit();
}
}
WebDriver#close
テストメソッドでorを呼び出す必要がないことに注意してくださいWebDriver#quit
。テスト中にブラウザセッションを再利用するだけです。
各 testCaseのフレームワーク setUp で割り当てる必要があるのと同様に、各 testCasedriver.quit()
のフレームワーク tearDown で呼び出す必要があります。ここhttp://siking.wordpress.com/2013/02/28/what-is-wrong-with-groovytestcase-and-selenium/をご覧ください。これは、問題を多少説明しています。
driver.quit() で動作するように Firefox を取得しました。私がしたことは、現在のバージョンをアンインストールし、Modzilla が公開している次のディレクトリから古いバージョンの Firefox をダウンロードすることでした: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
ダウンロードしたバージョンは、 https ://ftp.mozilla.org/pub/mozilla.org/firefox/releases/27.0/win32/en-US/ から「Firefox Setup 27.0.exe」でした 。
その後、すべてが機能しました。
Firefox のバージョンを切り替える前に、Firefox ブラウザーを使用して、ここから Selenium IDE をダウンロードしました:
http://www.seleniumhq.org/download/
Selenium IDE は Firefox プラグインです。
私が考えていたのはこれでした= Firefox バージョン 32 (最新バージョン) を使用していて、「拡張機能」オプションを調べたところ、Selenium IDE が表示されませんでした。Firefox バージョン 27 を使用したので、Selenium IDE が表示され、次のようになります。