数据驱动的 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 测试的主要内容,如果未能解决你的问题,请参考以下文章