Комментарии 13
А можно хоть часть статьи под кат запихнуть? Ибо больно длинно без него
Подскажите, пожалуйста, я не совсем понял.
В стандартной поставке Behave нет вообще никаких шагов, даже таких банальных как открыть URL и кликнуть элемент? Т.е. чтобы начать писать тесты на естественном языке, мы должны сначала сформировать словарь всевозможных шагов?
В стандартной поставке Behave нет вообще никаких шагов, даже таких банальных как открыть URL и кликнуть элемент? Т.е. чтобы начать писать тесты на естественном языке, мы должны сначала сформировать словарь всевозможных шагов?
Да, все правильно.
Behave только выполняет тесты, a открыть URL и кликнуть — это уже webdriver.
Behave только выполняет тесты, a открыть URL и кликнуть — это уже webdriver.
На behave можно писать не только веб тесты
Раз уж на то пошло, то на behave можно писать тесты для чего угодно.
Никто и не говорил, что это инструмент специализированный для веб.
В данном случае, тесты написаны на python с использованием selenium.
Никто и не говорил, что это инструмент специализированный для веб.
В данном случае, тесты написаны на python с использованием selenium.
А можно хотя бы пару слов непосредственно об опыте использования на проекте? Кто пишет фичи, сложность сценариев (среднее кол-во шагов), частота изменений в продукте и как сильно они затрагивают тесты? Ну и «среднюю температуру» — сколько тестов, как долго используете?
Можно, конечно.
Мы только начали использовать описанную систему, поэтому тестов не очень много (~100). Помимо того мы используем pict для генерации наборов входных данных, и с помощью самописного python скрипта, на основне шаблона, генерируем много типовых сценариев, с разными данными. Один тест может включать до 60 одинаковых сценариев, с разными данными. (У нас много форм, которые зависят от того, что находится в других формах, или в бд)
Для того, кто пишет сами тесты сложность стремится к нулю, потому что не приходится описывать никакой логики\программировать, а просто писать юзкейсы: «в этой форме выбери то, затем проверь появился ли текст на странице» и т.п. Сами шаги (взаимодействие с сайтом, и с бд) представляют из себя несложные python-функции, поэтому и тут про сложность нечего сказать. (ненамного сложнее того, что в примере)
У нас тесты пишут только тестировщики, на данный момент 1 тестировщик. Тесты запускаются вручную, на машине тестировщика, который их пишет. Баги которые ловят тесты регистрируются тем, кто тесты запустил.
Частота изменений в продукте — десятки (до сотни, наверное) коммитов в день, изменения как логики, так и интерфейса (в части кода, а не вида). На данный момент тесты довольно устойчивы к этим изменениям.
Конкретные цифры привести сложно, потому что я не отслеживал этого.
Мы только начали использовать описанную систему, поэтому тестов не очень много (~100). Помимо того мы используем pict для генерации наборов входных данных, и с помощью самописного python скрипта, на основне шаблона, генерируем много типовых сценариев, с разными данными. Один тест может включать до 60 одинаковых сценариев, с разными данными. (У нас много форм, которые зависят от того, что находится в других формах, или в бд)
Для того, кто пишет сами тесты сложность стремится к нулю, потому что не приходится описывать никакой логики\программировать, а просто писать юзкейсы: «в этой форме выбери то, затем проверь появился ли текст на странице» и т.п. Сами шаги (взаимодействие с сайтом, и с бд) представляют из себя несложные python-функции, поэтому и тут про сложность нечего сказать. (ненамного сложнее того, что в примере)
У нас тесты пишут только тестировщики, на данный момент 1 тестировщик. Тесты запускаются вручную, на машине тестировщика, который их пишет. Баги которые ловят тесты регистрируются тем, кто тесты запустил.
Частота изменений в продукте — десятки (до сотни, наверное) коммитов в день, изменения как логики, так и интерфейса (в части кода, а не вида). На данный момент тесты довольно устойчивы к этим изменениям.
Конкретные цифры привести сложно, потому что я не отслеживал этого.
Забавно, суть этого behave в питоне, такая же как у Cucumber в руби. Даже директории и расширения файлов одинаково называются. А не пробовали пользоваться параллельно с этим фреймворком использовать Page Object? Тест был бы изящнее)
Given website «ya.ru»
Then push button with text 'Найти'
Ошибка! Здесь должно быть When.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Автоматизация тестирования веб-приложения с использованием Selenium WebDriver, Python, и Behave