【问题标题】:Data driven selenium automation using apache poi with jenkins使用 apache poi 和 jenkins 的数据驱动硒自动化
【发布时间】:2016-05-02 11:16:51
【问题描述】:

目前我正在使用 excel 作为我的 selenium web 驱动程序脚本的输入(通过 eclipse 运行)。我计划将这些自动化测试用例集成到 Jenkins。有什么方法可以将 excel 输入用于与 Jenkins 集成的硒测试

【问题讨论】:

  • 先让你的测试用例数据用poi驱动,然后把它做成jenkins项目
  • 非常感谢!测试用例已经是使用 apache poi 驱动的数据。我的问题是我们如何将 excel(输入数据)引用到詹金斯中的硒测试。有这方面的教程吗?
  • 如果您发布代码,识别您的问题将很有用
  • 将 excel 表格保存在项目中,只需将其称为 jenkins 即可

标签: selenium-webdriver jenkins apache-poi


【解决方案1】:

您好,请按照下面的方式进行操作,请注意这个问题的答案有点冗长,我也一直保持自己非常简单和基本

1.读取.XLSX文件的逻辑示例

public class ExcelReader {
    public String ExcelReaderSample() throws IOException{
        String excelFilePath = "C:\\Users\\rajnish\\workspace\\googleExample\\src\\TestData.xlsx";
        FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
        Workbook workbook = new XSSFWorkbook(inputStream);
        Sheet firstSheet = workbook.getSheetAt(0);
        Iterator<Row> iterator = firstSheet.iterator();
         while (iterator.hasNext()) {
                Row nextRow = iterator.next();
                Iterator<Cell> cellIterator = nextRow.cellIterator();

                while (cellIterator.hasNext()) {
                    Cell cell = cellIterator.next();

                    switch (cell.getCellType()) {
                        case Cell.CELL_TYPE_STRING:
                           // System.out.print(cell.getStringCellValue());
                            return cell.getStringCellValue();
                    }
                    System.out.print(" - ");
                }
                System.out.println();
            }
            workbook.close();
            inputStream.close();
            return null;
    }
} 

2.我们将使用从excel表中获取的数据的示例测试

 public class SampleExample {
    @Test
    public void SampleRun() throws IOException {
        // opening Firefox Browser
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.google.com");
        // Reading Excel sheet
        ExcelReader excelReader = new ExcelReader();
        String keywordToSearch = excelReader.ExcelReaderSample();
        // Searching they keyword fetched from Excel sheet
        System.out.println("This is the keyword that i want to search : " + keywordToSearch);
        driver.findElement(By.name("q")).sendKeys(keywordToSearch);
    }
}

注意 - 考虑到您在项目中导入了最新的 apache poi

3.现在保持您的文件结构如下(将您的excel文件保存在您要读取数据的项目中)

  1. 现在从这里安装 jenkins https://jenkins.io/(注意我在 Windows 上)
  2. 从命令提示符运行 jenkins.war(我的在 C:\Program Files (x86)\Jenkins\jenkins.war)java -jar jenkins.war

现在在您喜欢的浏览器中输入 localHost:8080(默认端口)

使用 Jenkins 配置项目 1.点击新建项目

2.选择Freestyle项目

3.为您的项目命名“SampleExampleForJenkins”

4.单击保存并选择返回仪表板

  1. 选择管理 Jenkins,然后配置系统

6.在JDK下给JAVA_HOME点击apply然后保存

jenkins的简单java项目运行配置已经完成。

请注意我用过TESTNG,我的项目结构是这样的

Excel 数据示例

示例项目结构

  1. 现在转到项目位置并创建一个 Lib 文件夹并将所有 jar 文件保存在其中

    a.Selenium 所有罐子 b.selenium server.jar c.apache poi 所有的罐子

现在创建一个批处理文件 根据这个视频https://www.youtube.com/watch?v=1e8I3A49ERc 15:00

【讨论】:

  • 非常感谢您的帮助:)
  • 我们可以在项目树中提供 excel 文件吗.. jenkins 会考虑从项目文件夹中的 excel 表中获取输入吗?再次感谢!!
  • 在上面的代码sn-p中指定了excel文件路径(excelFilePath),是否可以给出文件路径并与jenkins集成?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-08
  • 2018-07-29
相关资源
最近更新 更多