Селеновые тесты на основе данных

#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

5. 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, а затем связывают оба для совместной работы. Вот ссылка.

Пожалуйста, посмотрите, поможет ли это.