Перейти к содержимому

asolntsev

Регистрация: 31 мая 2013
Offline Активность: 20 янв 2023 15:34
-----

#146991 Прошу помочь советом изучающему webdriver

Написано asolntsev 09 декабря 2015 - 20:54

webdriver тут не при чём. Ошибка "UnsupportedClassVersionError" говорит о том, что вы запускаете тесты со слишком старой версией Java.

Наверное, вы запускаете с Java 6, а библиотека htmlunit скомпилирована с Java 7.


  • 1


#143402 А как Вы обрабатываете Exceptions и Errors?

Написано asolntsev 13 августа 2015 - 20:12

 

 
Привет
Как Вы в своих проектах обрабатываете Exceptions и Errors? Есть ли какая-то общепринятая техника (типа PageObject для разработки тестов) ?
Я лично могу обойтись и stacktrace, я не гордый.
Но мой тест-менеджер теперь хочет читать репорты по автотестам сам (он не пишет автотесты). И просит сделать их более читабельными. Я ума не приложу как это сделать?.
Автотесты запускаются с использованием selenide, а репорты будут генерится, наверное, при помощи Allure.

 

 

Привет!

Вам не нужно никак обрабатывать ошибки в тестах. Любой нормальный запускальщик тестов (будь то JUnit, TestNG или любой другой) сам ловит все ошибки и показывает их в отчёте. 

 

В случае с Selenide тем более не надо, т.к. Selenide сообщает обо всех падениях максимально подробно, типа, "такой-то элемент должен быть видимым, а он невидимый". Или "У такого-то элемента должен быть текст Маша, а у него текст Петя". 

 

Какого-то специального фреймворка для репортов вам тоже не нужно. Все классические билд-системы и CI (Jenkins, Maven, Ant, Gradle и пр.) умеют генерировать отчёты о прохождении тестов. Allure нужен только в том случае, если вы хорошо понимаете, что вам нужно, и стандартного отчёта вам не хватает (лично я вообще не верю, что такое бывает). Грубо говоря, если хотите добавить в отчёты красивые картинки.


  • 1


#142026 Как обработать системные (виндовые) окна Выбор сертификаты при входе в

Написано asolntsev 24 июня 2015 - 09:48

В идеале надо настроить тестируемое приложение так, чтобы в тестовой конфигурации этот диалог не выскакивал. Скажем, сделать пользователя только с одним сертификатом или что-нибудь подобное. Потому что все эти тулы, которые пытаются угадать, куда кликнуть - по природе своей ненадёжны. Рано или поздно эти тесты начнут валиться.
  • 1


#137487 Фактическое состояние проекта

Написано asolntsev 09 декабря 2014 - 19:54

Ни в коем случае!
Не надо бросаться писать документацию. Документация моментально устаревает, даже если вам удастся написать её полной и достоверной. А вам не удастся, ибо найдётся куча вопросов, на которые уже никто не знает ответ.

В идеале, документация должна не вписаться, а генерироваться из автотестов. Потратьте лучше своё время и энергию на них.
  • 1


#137486 самодостаточность тестов

Написано asolntsev 09 декабря 2014 - 19:45

Мы обычно делаем так. Пишем скрипт, генерирующий набор тестовых данных на пустой базе: один клиент, пара счетов, пара транзакций и т.д. И запускаем этот скрипт перед КАЖДЫМ тестом. Тогда все тесты получаются независимыми.
  • 1


#134820 Сколько времени выполняется среднестатистический автотест?

Написано asolntsev 25 сентября 2014 - 21:31

 

Ну как, для каждой цели свой инструмент.

H2 отлично подходит для тестов, потому что он легко запускается и не требует инсталляции. Но наверное, он не подходит для боевой системы, потому что, вероятно, он не умеет эффективно обрабатывать большие объёмы данных. Не зря же Oracle столько стоит - у него и скорость, и безопасность, и все дела. 


  • 1


#131872 Ввод Login and Password в сплывающей форме

Написано asolntsev 04 июля 2014 - 21:49

Добрый вечер!

Позвольте вам посоветовать библиотеку Selenide. Это обёртка вокруг Selenium WebDriver, позволяющая писать более короткие, читаемые и надёжные тесты.

Вот как выглядел бы ваш тест с использованием Selenide:

 

    open("http://www.komus.ru/myoffice/login");

    // login
    $("#middle #email").val("123451234@yandex.ru");
    $("#middle #js-pass").val("qwerty123");
    $("#middle").find(byValue("login")).click();

    // Сhange password
    $(By.linkText("Смена пароля")).click();
    $(By.xpath("(//input[@name='password_old'])[1]")).val("qwerty123");
    $(By.xpath("(//input[@name='password'])[1]")).val("qwerty1234");
    $(By.xpath("(//input[@name='password_check'])[1]")).val("qwerty1234");

    $(By.xpath("(//input[@value='Продолжить'])")).click();

  • 1


#124530 Асинхронное ожидание появления элемента

Написано asolntsev 28 ноября 2013 - 21:45

Далее просто этот метод вставляйте после каждого действия.




А лучше все таки используйте EventFiringWebDriver и:
http://selenium.goog...nium.WebDriver)


Точно!
В Selenide есть метод для добавления листенеров:

WebDriverRunner.addListener(new AbstractWebDriverEventListener() {
  public void onException(Throwable throwable, WebDriver driver) {
    // TODO 
  }
});

  • 1


#121558 WebDriver: запуск большого количества тестов одновременно

Написано asolntsev 05 сентября 2013 - 05:59

Для нагрузочного тестирования неудобно использовать Selenium. Открыть на одной машине сто браузеров нереально.
Обычно для этого используют, например, JMeter. Он как раз позволяет описать серию (параметризованных) запросов, задать количество потоков (100), паузы между ними, и фигачит 100 параллельных запросов на сервер. То, что доктор прописал.

Добрый день.

Хочу посоветоваться. Мне нужно создать автотест, обеспечивающий 100 одновременных обращений к системе с Web-интерфейсом. Каждое обращение идет под уникальным пользователем со своим логином и паролем. После логина эти пользователи должны выполнить одну и ту же операцию (она отличается незначительно, но это можно параметризировать).

В силу условий задачи, мне надо это сделать именно через Web UI. Варианты c API, модульными тестами исключены. Браузер возможен любой.

Я хочу это сделать на WebDriver, и автоматизация логина в систему и выполнения операции трудностей не вызывает. Я могу параметризовать логин/пароль/операцию и вызывать, скажем, Groovy-скрипт с теми или иными параметрами. Но мне непонятно, как организовать одновременный запуск 100 тестов. Можно ли это делать на одной машине? Не будут ли эти тесты мешать друг другу? Существует ли какое-то общепринятое и хорошо себя зарекомендовавшее решение для такого типа тестов?

Спасибо.


  • 1