Когда вашему проекту понадобятся функциональные тесты, обратите внимание на . Он поддерживает javascript и его очень просто использовать. Вот небольшой пример:

Первым делом, добавляем зависимость в проект:

        <dependencies>
		<dependency>
			<groupId>net.sourceforge.</groupId>
			<artifactId></artifactId>
			<version>2.1</version>
		</dependency>
	</dependencies>

Чтобы начать тестирование сайта, необходимо создать клиент и загрузить нужную страницу:

WebClient webClient = new WebClient();
HtmlPage page = (HtmlPage) webClient.getPage("http://google.com");

Теперь мы можем получить доступ к форме, заполнить ее поля и отправить запрос:

HtmlForm form = page.getFormByName("f");
HtmlInput query = form.getInputByName("q");
query.setValueAttribute("java");
HtmlSubmitInput submit = (HtmlSubmitInput) form.getInputByName("btnG");
page = (HtmlPage) submit.click();

Затем мы можем проверить результаты выполнения запроса, например с помощью :

List<Node> elements = (List<Node>) page.getByXPath("//li[@class = 'g']");
for (Node li : elements) {
	System.out.println(li.getTextContent());
}

Представленный код получает результаты поиска по запросу “java”.

Есть другой способ получить такие результаты. Можно не заполнять форму, а сразу отправить запрос. Это подходит в тех случаях, когда нет необходимости тестировать саму форму. В результате экономится время, которое затрачивается на загрузку первой страницы:

WebRequestSettings wrs = new WebRequestSettings(new URL("http://google.com/search"));
wrs.setSubmitMethod(SubmitMethod.GET);
LinkedList<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new NameValuePair("hl","en"));
params.add(new NameValuePair("q","java"));
params.add(new NameValuePair("btnG","Google Search"));
wrs.setRequestParameters(params);
HtmlPage page = (HtmlPage) webClient.getPage(wrs);

Связанные записи