Я очень новичок в Selenium and Automation. Используя Selenium IDE и мои общие знания Java, я смог сделать серию тестовых примеров в Eclipse, которые запускаются на JUnit. Теперь мой тест выполняется, когда я нахожусь в затмении, и нажмите [run]. Я хотел бы импортировать эти тестовые примеры в Jenkins/Hudson. Есть два способа, которые я предпочел бы сделать CI.Как получить тесты Selenium/WebDriver на Jenkins?
Запланируйте время (раз в неделю), чтобы пройти тесты и отправить электронное сообщение результата.
Загрузите свои тестовые примеры в репозиторий на GitHub и при внесении изменений в репозиторий, запустите тесты и/или по расписанию (один раз в неделю).
Ive честно попытался найти учебники (видео/документы), но все они кажутся очень неясными. Просто чтобы привести пример, я не знаю, что такое build.xml или POM.
Лучше ли это делать с помощью плагина Jenkins или с помощью ANT или Maven? Если да, то какие вещи мне нужно добавить/изменить в моем коде, чтобы это произошло, и настроить в Jenkins.
Мой пример кода ниже:
package Profile;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.Select;
import com.opera.core.systems.scope.protos.ExecProtos.ActionList.Action;
public class P_ProfileChangeTestCase {
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
//Before the test begins, creates a new webdriver and sets the base url
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://www.test.com/";
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
@Test
public void testOpen() throws Exception {
System.out.println("**Starting Profile**");
driver.get(baseUrl);
//Click LogIn
System.out.println("Clicking Log In");
driver.findElement(By.cssSelector("div.button.login > a.link")).click();
//Enter User name
System.out.println("Entering Username");
driver.findElement(By.xpath("//input[@id='login']")).sendKeys("TEST");
//Enter Password
System.out.println("Entering Password");
driver.findElement(By.xpath("//input[@id='login_password']")).sendKeys("PW");
//Click LogIn Button
System.out.println("Submit Log In");
driver.findElement(By.className("login-button")).click();
//Verify user name login by echo name to console
System.out.println("Verify User Log In");
String text = driver.findElement(By.cssSelector("span.username")).getText();
System.out.println("Username is :" + text);
////////////////////////
//Click on Edit Profile
System.out.println("Clicking on Edit Profile Button");
driver.findElement(By.cssSelector("div.button.login")).click();
driver.findElement(By.xpath("//div[@id='mlg-header']/div/div[3]/div/div[7]/div/div[2]/a")).click();
//Change description in profile
System.out.println("Editing the Interests section of profile");
driver.findElement(By.name("interests")).clear();
driver.findElement(By.name("interests")).sendKeys("Edit Profile in Selenium Eclipse");
//Update Profile
System.out.println("Click on submit to change profile");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
//Verify that update has been applied to profile
System.out.println("Verifing that change has been made");
assertEquals("Profile has been updated.", driver.findElement(By.cssSelector("b > b")).getText());
//Console Output of Assert Statement Above
System.out.println("Profile has been updated!");
System.out.println("**Profile Complete!**");
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
}
исправления! Я создал проект maven, и в качестве java-файла у меня есть следующий код выше. в моем pom xml у меня есть зависимость selenium и junit – user2683183