数据驱动的Selenium测试

时间:2016-10-19 09:30:00

标签: selenium ui-testing data-driven-tests

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

2 个答案:

答案 0 :(得分:0)

有些时候我创建了一篇博客文章,讨论如何使用PageFactory,让定位器在外部文件(如JSON)中可用,然后将两者结合在一起工作。 Here's链接。

请查看是否有帮助。

答案 1 :(得分:0)

我确实使用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();
    }