GroovyとSeleniumでスクリーンショットをとってみる
(日本語がおかしかったので修正)
以下のGroovyスクリプトを実行すると指定しているページを開いてスクリーンショットを作ります。
※初回実行時はかなりの量のjarをダウンロードするので時間がかかります!注意!!
import junit.framework.TestCase import org.openqa.selenium.server.SeleniumServer import com.thoughtworks.selenium.DefaultSelenium import com.thoughtworks.selenium.Selenium @Grab(group='org.codehaus.mojo', module='selenium-maven-plugin', version='1.0') public class SeleniumScreenShotTest extends TestCase { private SeleniumServer seleniumServer protected Selenium selenium protected void setUp() throws Exception { seleniumServer = new SeleniumServer() seleniumServer.start() selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.cloudtesting.com/") selenium.start() } protected void tearDown() throws Exception { selenium.stop() seleniumServer.stop() } public void testRun() { selenium.open("http://www.cloudtesting.com/blog/2009/06/24/capturing-screen-shots-of-browsers-with-selenium-and-cloud-testing-part-1/") selenium.captureEntirePageScreenshot("C://screenshot.png","") } }
■スクリプト内でやっていること
1.Selenium Maven Pluginを使って@Grabでjarをダウンロードする
http://mojo.codehaus.org/selenium-maven-plugin/
2.Selenium Serverを起動
3.テストを走らせてスクリーンショットを作成
4.Selenium Serverを停止
あとGroovySeleneseTestCaseにはsetCaptureScreenshotOnFailure(boolean)みたいなメソッドもある。これは重宝しそう。
■参考サイト
Page not found - Cloud Testing Blog
cargo + Selenium RCでintegration test - まとばと!