[Java][test] Java Webテストツール文法まとめ
概要
http://java-source.net/open-source/web-testing-tools で紹介されているテストツールを使用したテストの書き方をまとめてみました。
HtmlUnit
順当な感じです。
@Test
public void homePage() throws Exception {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
Assert.assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());
final String pageAsXml = page.asXml();
Assert.assertTrue(pageAsXml.contains("<body class=\"composite\">"));
final String pageAsText = page.asText();
Assert.assertTrue(pageAsText.contains("Support for the HTTP and HTTPS protocols"));
webClient.closeAllWindows();
}
MaxQ
プロキシ型なので割愛。
jWebUnit
DSLっぽくていい感じ。
import org.junit.*;
import static net.sourceforge.jwebunit.junit.JWebUnit.*;
public class ExampleWebTestCase {
@Before
public void prepare() {
setBaseUrl("http://localhost:8080/test");
}
@Test
public void testLogin() {
beginAt("/home");
clickLink("login");
assertTitleEquals("Login");
setTextField("username", "test");
setTextField("password", "test123");
submit();
assertTitleEquals("Welcome, test!");
}
}
HttpUnit
順当な感じ。
WebConversation wc = new WebConversation();
WebResponse resp = wc.getResponse( "http://www.httpunit.org/doc/cookbook.html" ); // read this page
WebLink link = resp.getLinkWith( "response" ); // find the link
link.click(); // follow it
WebResponse jdoc = wc.getCurrentPage(); // retrieve the referenced page
Canoo WebTest
XMLなんだ。。。ちょっとつらそう。
<project default="test">
<target name="test">
<webtest
name="check that WebTest is Google's top 'WebTest' result">
<invoke url="http://www.google.com/ncr"
description="Go to Google (in English)"/>
<verifyTitle text="Google" />
<setInputField name="q" value="WebTest" />
<clickButton label="I'm Feeling Lucky" />
<verifyTitle text="Canoo WebTest" />
</webtest>
</target>
</project>
JMeter
負荷テストでした。
LoadSim
負荷テストでした。
Lakta
リンク切れ。
StoryTestMQ
Seleniumを使用。
Slimdog
リンク切れ。
Imprimatur
リンク切れ。
slim
リンク切れ。
Selenium
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.google.com");
driver.findElement(By.name("q")).sendKeys("Selenium");
driver.
Watij
よさげ。
WebSpec spec = new WebSpec().mozilla();
spec.open("http://www.google.com");
spec.find.input().with.name("q").set.value("Watij");
spec.find.input().with.type("button").with.value("Google Search").click();
//check results
spec.find.a().with.href("http://watij.com/").shouldExist();