#selenium #ui-testing #data-driven-tests
#селен #тестирование пользовательского интерфейса #тесты, управляемые данными
Вопрос:
Я создал селеновый тест, который работает нормально, но приложение все еще находится в разработке. есть ли способ разместить все идентификаторы элементов / cssSelector / Xpath на одном листе Excel, а затем передать те, которые мне нужны, для каждого метода.?
Комментарии:
1. обычно они добавляются в файл свойств.
2. Это выглядит так же, как то, что я искал, спасибо. просто немного уточнил направление >> www.software-testing-tutorials-automation.com/2014/05/creating-object-repository-using.html
3. @Shar Ваша ссылка недействительна… Запрошенная страница была перемещена
4. Боже: ( это работало, но да, файл .properties сработал как надо. Мне сказали, что за этим трудно следить не разработчикам, поэтому я все еще ищу это из Excel
Ответ №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, а затем связывают оба для совместной работы. Вот ссылка.
Пожалуйста, посмотрите, поможет ли это.