Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Проверка загрузуки страницы при редиректе на скачивание документа

python
webdriver
testng
Теги: #<Tag:0x00007f7b627f3818> #<Tag:0x00007f7b627f36d8> #<Tag:0x00007f7b627f3598>

(Yuri Zverev) #1

Добрый день!

Задача выглядит следующим образом: есть набор ссылок типа https:example.com/document1, https:www.example.com/document2 и тд, при переходе по ним происходит скачивание пдф-ки. Можно ли автоматизировать проверку работоспосорбности этих ссылок средствами вебдрайвера?

Спасибо!


(Eugene Moskalenko) #2

Можно конечно, но не только веб-драйвером, и не одной строкой :slight_smile:

Надо как-то так сделать - через аннотацию @DataProvider(name = “test555”), пример, как такая аннотация работает:

   @DataProvider(name = "test555")
   public static Object[][] primeNumbers() {
      return new Object[][] {
        {2, true}, 
        {6, false}, 
        {19, true}, 
        {22, false}, 
        {23, true}};
   }

   @Test(dataProvider = "test555")
   public void testPrimeNumberChecker(Integer inputNumber, Boolean expectedResult) {
      System.out.println(inputNumber + " " + expectedResult);
      Assert.assertEquals(expectedResult, primeNumberChecker.validate(inputNumber));
   } 

написать тест, который:

  1. открывает урл, после чего файл скачивается в определенную директорию
  2. проверяется наличие файла в директории по его названию или размеру (тут надо подумать)
  3. Если такой файл лежит в директории, значит он скачался, если нет, то тест не прошел…

Аннотация @DataProvider поможет в один тест вложить множество таких урлов - https://example.com/document{1,2...n}, которые обработаются одной логикой теста.

Сам вебдрайвер только откроет браузер и перейдет на страничку в этом браузере, по сути, остальное уже надо делать средствами фреймворка…