Selenium WebDriver + TestNG кроссбраузерное тестирование

ВАМ ПОНРАВИТСЯ

11 Комментариев

  1. Олег:

    Добрый день. Все делал по примеру, запустил testng.xml, тест прошел успешно. Но, не запустился класс OpenPageTest. А если запустить этот класс отдельно, то выдает ошибку:
    Parameter ‘browser’ is required by BeforeTest on method getDriver but has not been marked @Optional or defined in C:\Users\Олег\.IdeaIC2017.2\system\temp-testng-customsuite.xml
    Заранее спасибо.

    • astest:

      Добрый день. Если делать как в примере, то запуск тестов возможен только через файл testng.xml. Должно работать.
      Если же запускать класс отдельно, то метод getDriver просто не видит значение параметра «browser», которое как раз таки передается ему из файла testng.xml. Для запуска тестов отдельно, вам нужно пометить параметр метода getDriver аннотацией @Optional и задать значение по умолчанию. Будет выглядеть так getDriver(@Optional(«chrome») String browser). Тогда ваши тесты будут просто запускаться в браузере Chrome.

  2. Олег:

    Спасибо, но я сделал немного по другому и у меня заработало.
    Перенес из класса «OprenPageTest» в «BaseTest» наш тестовый класс (openPage), сам класс «OprenPageTest» удалил, сделал ребилд и тесты прошли.
    Возможно, у меня с первого раза не вышло из за наследования ?

    • astest:

      Не видя код и структуру проекта, сложно определить в чем причина. Если вам интересно, вы можете отправить мне на почту скрины структуры проекта, код теста и содержимое файла testng.xml. Я посмотрю и мы разберемся в чем причина. Дело может быть в какой-то мелочи, но Java мелочей не прощает.
      Пример из статьи рабочий, так как проверен неоднократно. В нем нет ничего сложного.

  3. Олег:

    Спасибо, было бы очень хорошо. А на какую почту писать?

  4. Так что там было у Олега?

  5. Роман:

    Сделал аналогично описанному выше пример (только изменил сам тест). При запуске тесты упали с ошибкой. В классе BaseTest изменил аннотацию с @BeforeTest на @beforeClass — успешно выполнился тест в Chrome, но в FF почему-то упал с ошибкой.
    Буду благодарен за помощь.

    • astest:

      Добрый вечер.
      Чтобы определить в чем причина, нужно увидеть скрины с ошибками и вашим кодом. Можно выслать на почту aleksey.smiyan@gmail.com

      • Роман:

        Дело оказалось в драйвере для FF: скачал последнюю версию gecko и тест в FF выполнился успешно. Также в классе BaseTest изменил аннотацию @AfterTest на @AfterClass.
        Вот что значит, пренебрёг Вашим советом: «В случае если у вас что-то не работает, обязательно проверьте совместимость версий.» 🙂

  6. Сергей:

    С аннотациями @BeforeClass и @AfterClass выполняется, с последними версиями браузеров и драйверов. Тут всё ОК. Даже удалось добавить другие бразуреры (IE и Edge, так нужно для проекта). А как это масштабировать? Если создать на каждый test suite свой xml (именовать их не testng.xml, а [suit_name].xml), каждый из них отдельно запускается. Это нормально или это bad practice? И возможно ли запихать все необходимые test suits в один xml?

Добавить комментарий для Andrey Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *