Java

Windows7でSeleniumServer(RC)を使ってFireFoxを起動する方法

投稿日:2013/09/07 更新日:

ちょうどWEBアプリを作っているので複雑な画面をSeleniumでテストケース作っておけばいいかなーと思って作りました。
FireFoxDriverを起動しています。
Jenkinsでテストとテストサーバーへのデプロイもしているので、SeleniumもJenkinsから実行できれば、なお良いねということでやってみた。
かなり端折りますが、結論からいうとLinux上のFireFoxで動かすことはできませんでした。
正確には、動いたのですがFireFoxが途中で止まってしまって、お手上げです・・・。

で、SeleniumRCっていうのが昔あったなーと思って、探してみたら最近はSeleniumServerっていうらしいですね。
という訳で、Windows7上でSeleniumServerを動かして、Jenkinsからこいつにアクセスすれば万事OKですな。
ということで、Windows7でSeleniumServerを動かして、Jenkinsから実行する方法です。

環境

最初に、簡単な環境を書いてみます。
プレゼンテーション1
図に文字がないのは、png出力したら文字化けしたからなんです。まぁ、なくてもわかりますよね・・・。

Windows7の準備

準備といってもFireFoxがインストールされていれば、SeleniumServerのみです。ちなみに、JDKは別途インストールしておいてくださいね。
SeleniumServerは、Seleniumのダウンロードページからダウンロードします。
ダウンロードページを開く
seleniumserver
この時点での最新版は2.35.0をダウンロードします。

起動するか確認。
コマンドプロンプトか何かで以下のコマンドを実行します。

java -jar selenium-server-standalone-2.35.0.jar -interactive

立ち上がればOK。

Windows7の準備はこれで、完了。

一応動作確認

とりあえず、テストで以下のようなプログラムを書いてみます。

	@Test
	public void test起動() throws Exception {
		RemoteWebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities.firefox());
		driver.get("http://www.google.com");
		sleep(3000);
		driver.quit();
	}
	
	private static void sleep(int microtime) {
		try {
			Thread.sleep(microtime);
		} catch (InterruptedException e) {
		}
	}

実行するとFireFoxが立ち上がって、Googleのページが表示されると思います。
FireFoxDriverじゃなくて、RemoteWebDriverとなっているところに注意です。

実は、これで準備完了です。
後、外部から4444ポートに接続しますので、適当にWindowsのファイアウォールのルールを変更しておいてください。

まとめ

いい時代になったものですね。
ちなみに別途ChromeとかInternet Explorerでも動くんじゃないかなーと思っています。
時間があれば、試してみます。

-Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

no image

WindowsのAntでJDKのバージョンを変更する方法

先日のMavenでコンパイル時のJDKバージョンを指定する方法のAnt版っていう感じです。 Mavenは先日の記事のように、プラグインで用意されているみたいなのですがAntには無さそう。 という訳で、 …

Spring MVCのコントローラーで任意のステータスコードを返す方法

Spring MVCにかぎらずなんですが、URIリソースが見つからない場合は、適切なステータスコードを返してブラウザにお知らせする必要があると思います。 例えば、マッピングには一致したが指定された条件 …

no image

Mavenでコンパイル時のJDKバージョンを指定する方法

久々にMavenを使う機会がありjar:jarを実行したら、コンパイルエラーが出力されてjarファイルが生成できませんでした。 コンパイルしているマシンがJava7で、どうもJava7で文字コード関連 …

JenkinsでwarファイルをTomcatにデプロイする方法

Tomcatサーバーへのデプロイは手動で行ってきました。 Antでリリースパッケージを作成して、SCP or FTPでリリース。原始的な方法です。 ですがJenkinsにTomcatのデプロイ用のプラ …

no image

JavaからTwitter4jを使ってタイムラインを表示してみる

今、Playframework2でTwitterアプリを作っています。 ですが、最初にTwitterの準備をしなければならないことがわかりました。 JavaでTwitterを操作するのであれば・・・。 …