Фреймворки семейства xUnit -- это основа основ автоматизированного тестирования. Они используются для организации и запуска тестов и сбора информации о результатах тестирования, то есть решают одну из ключевых задач автоматизации тестирования.
Однако наши многочисленные тренинги по автоматизации уделяют недостаточно внимания этому важнейшему аспекту разработки автотестов, поэтому мы решили добавить в линейку тренинг, специально посвященный эффективному использованию тестовых фреймворков.
В этом тренинге рассматриваются два наиболее популярных тестовых фреймворка для языка программирования Java -- JUnit и TestNG.
Начать работать с этими фреймворками несложно. Однако опыт показывает, что большинство автоматизаторов использует лишь незначительную часть возможностей, которые предоставляют тестовые фреймворки.
Но может быть эти “продвинутые” возможности просто не нужны, поэтому и не используются?
Увы, часто тестировщики-автоматизаторы строят сложные конструкции из “костылей” и изобретают самодельные велосипеды, не подозревая о том, что нужная функциональность может быть реализована гораздо более простым способом.
Из тренинга вы узнаете, как организовывать тесты в группы, как их запускать в нужном порядке, как правильно описывать зависимости между тестами, как реализовать “мягкие” и “жесткие” проверки, как сделать тесты параметризованными, как реализовать загрузку данных из разных источников и применять подход DDT (data-driven testing), как автоматически перезапустить упавшие тесты и ещё многое другое.
Материал разбит на два уровня сложности: использование встроенных возможностей тестового фреймворка и расширение функциональности фреймворка через специально предусмотренные интерфейсы расширения.
7 дней, 7 занятий. Это быстрый старт для тех, кто прочитал книжки и хочет применить знания. Вас закидывают на реальный проект и целую неделю вы оттачиваете на нем новые навыки под чутким присмотром тренера.
Легко? Нет!
Эффективно? Очень!
Курс создан ради того, чтобы переворачивать мышление. Занятия каждый день дают идеальный эффект погружения в тестирование на реальном проекте.
ВАЖНО!
Онлайн-интенсив хорош тем, что всего за неделю мы отрабатываем основные навыки, которые нужны тестировщику. При этом на целую неделю вы становитесь тестировщиком реального проекта, а не абстрактного карандаша. Каждое домашнее задание основано «на реальных событиях»!
Каждый день в течение недели у вас будет:
15-25 минут теории (видеозапись)
7 часов практики (домашние задания)
НО!
Это будет неделя интенсивной работы. Придется поднапрячься, но оно того стоит!
Переформулирую, пожалуй – зачастую автоматизация кажется очень простой штукой.
Когда вы смотрите на первое демо, или запускаете свой первый автотест, вы чувствуете себя волшебником . Ого-го! Это так круто! Хотел бы я уметь печатать так быстро!
Но хорошая автоматизация сильно отличается от этого вашего первого запуска.
Представьте, что вы гуляете по огороду и видите на ветке спелый фрукт, призывно манящий вас. Вы срываете его, думая, что это же так круто – одно простое движение, и в вашей руке что-то красивое и вкусное.
Однако хорошая автоматизация – это скорее организация этого огорода, позволяющего прокормить небольшой городок.
Есть проблема с запуском автотестов с помощью Bamboo
Дан набор тестов(Selenium Webdriver+Python), запускаю их на Bamboo сервере. Тесты падают, потому что физически Bamboo не запускает браузер и во всех тестах Selenium не может найти нужный элемент на странице(притом почему то каждый раз разный)
Запускал тесты разными способами, и просто набором консольных команд, и bat файлом, который хранится на сервере.
Если запускать прямо руками на сервере, то все нормально, браузер запускается, тесты проходят. Браузер - Firefox. Версии python, selenium везде одни и те же.
как правильно прописать в селениуме поиск и клик по элементу в списке на веб-странице. Через консоль ФФ я вижу такое: <ulid="design-tree"class="treeview-gray treeview">
Пробовал и через css_selector и просто по айди без ИксПаса. Всегда одна и та же ошибка при прогоне скрипта:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"(//*[@id='tree36']"}
Stacktrace:
at FirefoxDriver.prototype.findElementInternal_ (file:///C:/Users/ichistov/AppData/Local/Temp/tmpoluibaq_/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
at fxdriver.Timer.prototype.setTimeout/<.notify (file:///C:/Users/ichistov/AppData/Local/Temp/tmpoluibaq_/extensions/fxdriver@googlecode.com/components/driver-component.js:625)
Пытаюсь с помощью Selenium WebDriver проверить, какое состояние у кнопки - атрибута disabled. Применяю для этого метод isEnabled(). Из описания метода: checks for the disabled attribute
on the button element. If the attribute "disabled" is not present, it returns True . Из описания (да и на практике подтвердилось), что этот метод подходит, если атрибут disabled определён так -
<button type="button" disabled>Click Me!</button>
То есть, isEnabled() проверяет наличие самого атрибута. Атрибут есть - результат false. Атрибута нет - результат true.
При таком определении, isEnabled() для обеих кнопок выдаёт "true" .
Подскажите, можно ли определять состояние disabled у кнопки с помощью какого-то другого метода WebDriver? Или нужно писать собственную проверку на значение disabled?
Интересно так же и то, что метод getAttribute("disabled") так же выдаёт true для обеих кнопок...
После удаленного запуска процесса из MASTER-а (Run->Remote Start All), в правом верхнем углу окна MASTER-а отображается "0/0", хотя я ожидал увидеть (Number of Threads X кол-во SLAVE-ов).
Скажите, пож-та, что я делаю не так?
Как контролировать суммарное кол-во запущенных потоков на всех SLAVE-ах?
PS:
- на MASTER-е и SLAVE-ах установлен jmeter версии 2.8.
- о тест-плане можно получить представление из приложенного скриншота.