如何在Jenkins上运行Selenium / WebDriver测试?

用户名

我是Selenium和Automation的新手。使用Selenium IDE和我对Java的一般知识,我能够在Eclipse上进行一系列在JUnit上运行的测试用例。现在,当我在月食中运行我的测试时,然后按[运行]。我想将这些测试用例导入Jenkins / Hudson。我希望通过两种方式进行CI。

  1. 安排时间(每周一次)进行测试并发送结果电子邮件。

  2. 将我的测试用例上传到GitHub上的存储库中,并且在对存储库进行更改时,运行测试和/或按计划(每周一次)运行。

香港专业教育学院诚实地试图查找教程(视频/文档),但它们似乎都不清楚。仅举一个例子,我不知道什么是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;
    }
      }
}
拉提(Ratih Nurmalasari)

根据您的信息,您可以使用maven项目库创建硒自动化。在这种情况下,如果要使用Jenkins作为CI,请按以下步骤操作:

  1. 确保已经安装了maven并在系统中设置了maven home。
  2. 使用构建自由样式的软件项目来创建新项目在此处输入图片说明
  3. 转到系统中的.jenkins文件夹。如果您使用的是Mac,它将放在家里。将您的硒项目复制并粘贴到自动化作业文件夹(.jenkins / jobs / Automation / workspace)中。工作区文件夹应手动创建。
  4. 创建作业/项目后,转到“源代码管理”并将其设置为“无”(我假设您当前正在使用本地系统中的硒代码)。如果要从git存储库中获取代码,则需要首先添加git插件:Jenkins- > Manage Jenkins- > Manage Plugins- >单击Available选项卡->搜索Github Plugin
  5. 检查“构建触发器”的“定期构建”并将其设置为(0 7 * * *)。这意味着您的自动化将每天7点自动运行。
  6. 添加构建步以通过maven命令mvn clean test运行自动化如果使用mac / linux请选择Execute Shell;如果使用Windows系统,请选择Execute Windows Batch Command
  7. 如果要发送自动化结果的电子邮件,则需要在Jenkins-Manage插件中安装Email Ext插件,并设置Editable Email Notification如果有附件,则maven项目结果通常放置在目标文件夹下。下面,我为您提供目标文件夹中的zip文件示例。
  8. 保存您的詹金斯/项目。在此处输入图片说明
  9. 设置电子邮件发件人:转到Jenkins->管理Jenkins->配置系统,然后执行以下附加步骤。在此处输入图片说明
  10. 最后,构建您的jenkins项目/职位: 在此处输入图片说明
  11. 让我知道您是否还有任何问题;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 selenium webdriver 框架中运行 jmeter 性能测试

来自分类Dev

Jenkins 上的 Selenium webDriver/Maven java 测试无法与 firefox 通信

来自分类Dev

如何设置 Jenkins CI 服务器以使用远程 webdriver 运行自动 BDD selenium 测试?

来自分类Dev

在Linux服务器上运行Selenium WebDriver测试

来自分类Dev

禁用JavaScript的Selenium WebDriver测试

来自分类Dev

使用Selenium Webdriver测试sessionStorage

来自分类Dev

使用 Webdriver 和不使用 webdriver 运行 Selenium 测试的区别

来自分类Dev

WebDriver:并行运行测试

来自分类Dev

如何使用Selenium WebDriver执行负载测试?

来自分类Dev

如何使用Selenium WebDriver执行负载测试?

来自分类Dev

如何在边缘铬浏览器上使用水豚运行硒Webdriver测试?

来自分类Dev

与Maven,Protractor和Selenium WebDriver的集成测试

来自分类Dev

没有VisualStudio的Selenium WebDriver测试

来自分类Dev

Selenium Webdriver测试框架设置

来自分类Dev

Selenium Webdriver UI测试被LocalHost取代

来自分类Dev

使用Python Selenium Webdriver测试“临时” DIV

来自分类Dev

无法在Chrome中运行Webdriver测试

来自分类Dev

无法在Chrome中运行Webdriver测试

来自分类Dev

如何在后台运行Selenium Webdriver?

来自分类Dev

如何在后台运行Selenium Webdriver?

来自分类Dev

以编程方式运行PHP Selenium Webdriver测试,无需phpunit命令

来自分类Dev

运行所有测试后,NUnit Selenium Webdriver未关闭

来自分类Dev

Selenium Grid-Webdriver-运行测试时出现白屏

来自分类Dev

运行自动化测试时 Selenium Webdriver 连接超时

来自分类Dev

Selenium Webdriver:如何在同一窗口中一个接一个地运行多个测试?

来自分类Dev

如何在Node.js中使用不同的输入运行多个Selenium / WebDriver.js测试

来自分类Dev

WebDriver测试未在IE11上运行

来自分类Dev

如何使用Selenium Webdriver测试SVG对象的单击?

来自分类Dev

如何使用Selenium WebDriver测试jQuery Mobile changePage

Related 相关文章

  1. 1

    如何在 selenium webdriver 框架中运行 jmeter 性能测试

  2. 2

    Jenkins 上的 Selenium webDriver/Maven java 测试无法与 firefox 通信

  3. 3

    如何设置 Jenkins CI 服务器以使用远程 webdriver 运行自动 BDD selenium 测试?

  4. 4

    在Linux服务器上运行Selenium WebDriver测试

  5. 5

    禁用JavaScript的Selenium WebDriver测试

  6. 6

    使用Selenium Webdriver测试sessionStorage

  7. 7

    使用 Webdriver 和不使用 webdriver 运行 Selenium 测试的区别

  8. 8

    WebDriver:并行运行测试

  9. 9

    如何使用Selenium WebDriver执行负载测试?

  10. 10

    如何使用Selenium WebDriver执行负载测试?

  11. 11

    如何在边缘铬浏览器上使用水豚运行硒Webdriver测试?

  12. 12

    与Maven,Protractor和Selenium WebDriver的集成测试

  13. 13

    没有VisualStudio的Selenium WebDriver测试

  14. 14

    Selenium Webdriver测试框架设置

  15. 15

    Selenium Webdriver UI测试被LocalHost取代

  16. 16

    使用Python Selenium Webdriver测试“临时” DIV

  17. 17

    无法在Chrome中运行Webdriver测试

  18. 18

    无法在Chrome中运行Webdriver测试

  19. 19

    如何在后台运行Selenium Webdriver?

  20. 20

    如何在后台运行Selenium Webdriver?

  21. 21

    以编程方式运行PHP Selenium Webdriver测试,无需phpunit命令

  22. 22

    运行所有测试后,NUnit Selenium Webdriver未关闭

  23. 23

    Selenium Grid-Webdriver-运行测试时出现白屏

  24. 24

    运行自动化测试时 Selenium Webdriver 连接超时

  25. 25

    Selenium Webdriver:如何在同一窗口中一个接一个地运行多个测试?

  26. 26

    如何在Node.js中使用不同的输入运行多个Selenium / WebDriver.js测试

  27. 27

    WebDriver测试未在IE11上运行

  28. 28

    如何使用Selenium Webdriver测试SVG对象的单击?

  29. 29

    如何使用Selenium WebDriver测试jQuery Mobile changePage

热门标签

归档