数据驱动的 Selenium 测试

Posted

技术标签:

【中文标题】数据驱动的 Selenium 测试【英文标题】:Data driven Selenium tests 【发布时间】:2016-10-19 09:30:00 【问题描述】:

我创建了一个运行良好的 Selenium 测试,但该应用程序仍在开发中。有没有办法将所有元素 ids/cssSelector/Xpath 放在一张 excel 表中,然后将我需要的元素传递给每个方法。?

【问题讨论】:

通常这些是在属性文件中添加的。 这看起来就像我正在寻找的谢谢。只需要一点方向>> www.software-testing-tutorials-automation.com/2014/05/creating-object-repository-using.html @Shar 您的链接无效...请求的页面已被移动 上帝 :( 它工作正常,但是 .properties 文件很有魅力。有人告诉我,对于非开发人员来说很难遵循,所以我仍然希望从 excel 中做到这一点 software-testing-tutorials-automation.com/2014/05/… 【参考方案1】:

我确实使用excel很简单地实现了这一点,我使用了以下方法:

    public void dataLocator() throws Exception
          FileInputStream file = new FileInputStream(new File("dataSheets\\testing doc.xlsx"));

          //Create Workbook instance holding reference to .xlsx file
          XSSFWorkbook workbook = new XSSFWorkbook(file);

          //Get first/desired sheet from the workbook
          XSSFSheet sheet = workbook.getSheet("Marketing Project");

          //Iterate through each rows one by one assigning cell value to variable
          account = sheet.getRow(1).getCell(0).getStringCellValue();
          projectname = sheet.getRow(1).getCell(1).getStringCellValue() +timestamp;
          reqType = sheet.getRow(1).getCell(2).getStringCellValue() ;
          Language = sheet.getRow(1).getCell(3).getStringCellValue();
          assetType = sheet.getRow(1).getCell(4).getStringCellValue();
          needReview = sheet.getRow(1).getCell(5).getStringCellValue();
          reviewer = sheet.getRow(1).getCell(6).getStringCellValue() ;
          date = sheet.getRow(1).getCell(7).getDateCellValue();
          stringDate = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH).format(date);
          moreInfo = sheet.getRow(1).getCell(8).getStringCellValue();

            workbook.close();
    

【讨论】:

【参考方案2】:

以前,我创建了一篇博客文章,讨论了如何使用 PageFactory,在 JSON 等外部文件中提供定位器,然后将两者耦合在一起工作。 Here's链接。

请看看是否有帮助。

【讨论】:

以上是关于数据驱动的 Selenium 测试的主要内容,如果未能解决你的问题,请参考以下文章

Python Selenium 之数据驱动测试的实现

Python+Selenium笔记:数据驱动测试

Selenium(Python)页面对象+数据驱动测试框架

数据驱动的 Selenium 测试

selenium+python自动化测试--数据驱动

selenium - 自动化测试模型 - 模块化数据驱动(参数化)