После того как проверен код, нам нужно проверить работу форм. Автоматизируем и эту проверку.Для этого мы будем использовать утилиту Selenium.
Selenium это бесплатная утилита с открытым кодом, для тестирования веб-приложений. Он состоит из двух частей:
Selenium IDE существует только как Firefox плагин. Так что для начала установите браузер Firefox (http://www.firefox.com).Selenium IDE можно загрузить из Firefox в Открыть меню | Дополнения.
После установки в меню "Инструменты" появится новый пункт:
Нажмите по нему.Появился Selenium IDE.
Selenium это бесплатная утилита с открытым кодом, для тестирования веб-приложений. Он состоит из двух частей:
- Selenium IDE является Firefox плагином, в котором вы записываете вашу тестовую сессию. Из IDE, вы можете воспроизводить сеанс для быстрой проверки, и экспортировать его в виде JUnit теста.
- Selenium Remote Control Server является сервером , который будет выполнять записанные тесты с помощью браузера
Между записью и воспроизведением тестов , вы можете изменить их в JDeveloper. Это
позволяет добавлять параметры и выходить за рамки простого тестирования.
Selenium IDE существует только как Firefox плагин. Так что для начала установите браузер Firefox (http://www.firefox.com).Selenium IDE можно загрузить из Firefox в Открыть меню | Дополнения.
После установки в меню "Инструменты" появится новый пункт:
Нажмите по нему.Появился Selenium IDE.
Теперь начнем тестирование формы.
Для этого запустите вашу форму в браузере и введите адрес формы в Selenium в Base URL
После того как вы создали сценарий.Его можно проигрывать при помощи кнопки Play(зеленый треугольник).Скорость выполнения сценария можно менять при помощи бегунка:Fast-быстро,Slow-медленно(при быстром выполнении сценария,могут появиться ошибки в связи выполнением команды над компонентами которые не успели сформироваться) Теперь нам надо, что бы этот сценарий можно было выполнять в JDeveloper и в нем же лицезреть результат
Для этого нам нужно :
1. Экспортировать сценарий в JUnit файл и сохранить его в проекте, в котором подключены JUnit библиотеки
Сформируется файл такого типа:
import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import java.util.regex.Pattern;
public class testForm {
private Selenium selenium;
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://localhost:7101/ADFExampleSOracleADFinfo-InputFileVC-context-root/faces/empPhoto.jspx");
selenium.start();
}
@Test
public void testTestForm() throws Exception {
selenium.open("/ADFExampleSOracleADFinfo-InputFileVC-context-root/faces/empPhoto.jspx?_adf.ctrl-state=13lwwd4wy1_19");
selenium.waitForPageToLoad("30000");
selenium.click("id=t1:0:cb1");
selenium.waitForPageToLoad("30000");
selenium.click("id=d2::ok");
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
После запуска формы, и указания в Selenium, с каким адресом ведется работа, необходимо создать собственно сам сценарий. для этого есть несколько способов:
1.При нажатии правой кнопкой по тестируемому элементу, в меню появляются доступные команды над ним. При нажатии по одной из команд, она выполняется и записывается в сценарий Selenium
2. В Selenium нажать правой кнопкой по области с командами и выбрать "Insert New Command". После этого вам надо будет заполнить три поля:
- Command - команда которая должна выполниться
- Target - id компонента над которым выполняется эта команда. Что бы узнать id компонента, нажмите по нему правой кнопкой и выберите "Просмотр кода элемента"-если вы смотрите в Chrome," Исследовать элемент" - если вы смотрите в Mozilla.
- Value - значение которое нужно ввести в этот компонент
3. Нажать на кнопку Record в Selenium( красный круг). Тогда все действия выполняемые на вашей форме будут автоматически конвертироваться в команды . Это самый быстрый и простой способ для формирования сценария и изучения команд Selenium-а.
Для этого нам нужно :
1. Экспортировать сценарий в JUnit файл и сохранить его в проекте, в котором подключены JUnit библиотеки
Сформируется файл такого типа:
package com.example.tests;
import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import java.util.regex.Pattern;
public class testForm {
private Selenium selenium;
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://localhost:7101/ADFExampleSOracleADFinfo-InputFileVC-context-root/faces/empPhoto.jspx");
selenium.start();
}
@Test
public void testTestForm() throws Exception {
selenium.open("/ADFExampleSOracleADFinfo-InputFileVC-context-root/faces/empPhoto.jspx?_adf.ctrl-state=13lwwd4wy1_19");
selenium.waitForPageToLoad("30000");
selenium.click("id=t1:0:cb1");
selenium.waitForPageToLoad("30000");
selenium.click("id=d2::ok");
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
Сценарий находится в методе testTestForm. Когда вы откроете сформированный файл в JDev, то увидите, что для компиляции не хватает библиотеки com.thoughtworks.selenium.*.Что бы исправить эту проблему, нам надо скачать Selenium Server (formerly the Selenium RC Server) по адресу http://docs.seleniumhq.org/download/ . После этого добавьте скачанный jar файл в проект и добавьте его в библиотеки проекта(Project Properties->Libraries and ClassPath->Add JAR). Так же нажмите правой кнопкой по добавленному файлу, и выберите Run. Этим вы запустите Selenium RC Server, который позволит нам запускать Selenium с Jdeveloper.
Если вы все правильно выполнили, то нажав Run по вашему тесту, мы получим удачное прохождение теста : )
Примечанию по тестированию в JDeveloper:
Что бы изменить скорость выполнения сценария Selenium на режим в JUnit нужно прописать команду: selenium.setSpeed("3000");
Комментариев нет:
Отправить комментарий