Что у Вас получилось с Selenium?

Привет всем!

Готовлю доклад о тулах, которые использую (WebDriver+%language%+etc), возникла необходимость серьезного исследования. Решил попросить Вашей помощи.

Просьба такая:

Не могли бы Вы поделится некоторой частью кода (желательно несколько файликов :smile:), где были бы такие штуки:

  • Page Objects
  • непосредственно тесты
  • что-то еще, что Вы посчитаете важным

Речь идет о том, что я решил попробовать сравнить разные техники/тулы на разных языках, будучи уверенным, что каждый из языков, которые можно использовать с webdriver’ом, “наложил” свой отпечаток на тулы которые на нем разрабатывались (для webdriver). Надеюсь, что подобный список готовых тул-сетов может кому нибудь еще пригодиться.

Механизм: думаю, что проще всего и доступней будут небольшие репозитории на гитхабе :smile:

Заранее спасибо.
Буду ждать.
ffess

1 лайк

а самому поискать там же?

исходя из своей практики и практики моих коллег, предположил, что у большинства нет привычки выкладывать свои/рабочие (полностью/частично) проекты на гитхаб

Предположил, возможно, ошибочно, пойду поищу.

Но на всякий случай: не откажусь от помощи сообщества :wink:

1 лайк

вот вам ответ на вопрос, какой язык популярен сейчас больше других? на github

Привет!
Вот в этом проекте я сделал примеры PageObject в разных стилях:

  • классический Selenium-style PageObject
  • PageObject в стиле Selenide
  • тот же тест вообще без PageObject

А вот тут небольшая статья про пэдж-объекты: http://ru.selenide.org/documentation/screenshots.html

ну это не для кого не секрет, всем известно что популярное, а что “экзотика”
моя цель сравнение не языков, а инструментов

например, мне интересно как выглядят пейдж обджекты в реальном проекте на пайтоне + как там же (Robot Framework, etc) описаны сами тесты, только не Hello World, который в туториалах есть, а более-менее сложные (реальные) вещи

ну и подобные кейсы же на других “мейнстрим”-языках: java, c#, php, etc

еще раз повторюсь, это все можно найти на github с примерами и прочими штуками

а что тут сравнивать инструмент один - Selenium
или я что-то не понимаю?

Спасибо, поковыряю :smile: [quote=“Funker, post:7, topic:5772”]
а что тут сравнивать инструмент один - Seleniumили я что-то не пнимаю?
[/quote]

я имею ввиду сопутствующие (для тех, кто их использует): Thusydides, JBehave, Selenide (как выше было замечено), еще что-нибудь, для java (ну и кучу подобных тулов для других языков, ведь есть совсем похожие: Cucumber, JBehave, SpecFlow; а есть другие),
все эти штуки преследуют похожие цели но реализованы по разному (когда чуть-чуть, когда - совсем), ну и конечно для других языков, я например юзаю Ruby+Selenium/Watir+RSpec/Cucumber+PageObject gem, и у меня есть куча классных впечатлений,и некоторое количество не очень :smile:, я бы хотел смотреть на эти впечатления “сквозь” понимания, как подобные вещи реализованы в других языках/фреймворках, чтоб понимать более объективную картину.

А я еще хотел сравнить это все с точки зрения тулов на разных языках, хотел собрать все фидбеки в кучу о связках язык-Селениум-инструмент, чтоб поковырять сильные и слабые стороны разных решений

нужно самому на этих инструментах пописать, чтоб понять сильные и слабые стороны.

практически все, что вы назвали - мертвые инструменты - Thusydides, Selenide, Сucumber, JBehave, SpecFlow - их процент в реальном мире меньше 10%, вы хотите статистику по этим 10% - тогда пожалуйста

я перечислил, те что остались в моей памяти со времен моих последних исследований, и, кстати, перечислил в виде примера, а не в виде закрытого вопроса,
тем более интересны мне будут ответы на мои вопросы здесь, так как живые - более интересны :smile:
так же очень интересны причины смерти

P.S. Если кому то будет интересно, могу кинуть сюда примеры на связках что указал сам

Я бы порекомендовал посмотреть на связку Ruby+Watir + PageObject (от Cheezy) + Page Factory (от Cheezy) + Cucumber. Примеры можно посмотреть в блоге Cheezy http://www.cheezyworld.com/2012/12/17/using-cucumber-to-adopt-a-puppy/

вот здесь посмотрите Опрос: какой java webdriver framework Вы используете?

я их и использую :wink: правда, больше rspec люблю

привет коллега!

1 лайк

получается, вышеуказанные умерли, а новых их замен (более-менее распространенных) нет?

перефразирую - они практически мертвы их выбирают ничтожно малое количество компаний.

Новые инструменты есть, вот для Java стал стремительно набирать обороты инструмент Thusydides в 2012 году - но как он набрал так и потерял, тестировщики уперлись в ограничения самого инструмента и отказалиль он него. Яндекс test team сперва взяла в последствии тоже отказалась, написала свой собственный велосипед из которого вышли самостоятельные отдельные проекты Yandex QATools · GitHub

Ну да, статистика обманчива. :smile:

“Ничтожное малое количество” - это, надо полагать, сотни и тысячи компаний. Вы, наверное, имели в виду, что это 5%-10% компаний, но абсолютные числа немаленькие.

Зато, согласно вышеупомянутому опросу, большинство компаний используют “собственный фреймворк” или “чистый selenium” (что фактически одно и то же). Каждый такой фреймворк используется ровно в одной компании. Вот кого следует назвать мёртвым, согласно вашей логике.

По пайтону можно посмотреть следующие проекты, а в github-e найти их применение

pymozwebqa

https://github.com/mozilla/marketplace-tests/blob/master/tests/mobile/test_reviews.py#L22

pysaunter

holmium

robotframework

вот еще ссылочка

wtframework

есть еще проекты, но имхо малоиспользуемые например

knitter

https://github.com/hww712/knitter/blob/master/examples/DemoProject/testcase/demo_module.py#L9

и вообще есть смысл еще посмотреть эту тему

Помнится на ruby еще был проект

chemistrykit

https://github.com/chemistrykit/chemistrykit-examples/blob/master/google/formulas/search.rb

Для исследования, мой полувелосипед

Проектик делался для фрилансеров как пример ожиданий, в реальном проекте задействованы теже принципы.

В основе:

P.S. Код делался попутно читая питон книги и возможно сейчас какие-то вещи были бы сделаны по другому. Но велосипед едет год++ и не требует пока “апгрейда” :smiley:

1 лайк

Кстати, стартанул новый небольшой сайд проект

A curated list of awesome test automation frameworks, tools, libraries, and software for different programming languages
GitHub - atinfo/awesome-test-automation: A curated list of awesome test automation frameworks, tools, libraries, and software for different programming languages. Sponsored by https://zapple.tech.

Приглашаю к активному участию! В какой-то степени пересекается с работой автора темы.