источники информации по Thucydides

Складывается впечатление, что с этим фреймверком никто не работает.
Инфа почти не гуглиться. Примеров нет. Официального мануала мало.

Какими подходами вы пользуетесь для изучения работы компонентов Thucydides

Документации нельзя верить. Нужно смотреть исходники тестов :slight_smile:

Серьезно, там же ведь есть демо-примеры работы приложения. Для WebDriver, я например, так узнал, что можно в пейджобжектах для C# использовать IList как тип инициализируемого свойства, и таким образом можно получить массив элементов по селектору.

А еще, оказалось, что можно применять одновременно два атрибута [FindsBy] с разными селектоами, и тогда вебдрайвер будет искать вначале по первому, а если не найдет – то по второму… или третьему. В документации этого не было (а может уже появилось), а целенаправленно погуглив – нашел упоминание в рассылке на google groups.

Так что тесты – самая достоверная дока.

так нету тестов!

Как по мне так официального мануала вполне достаточно для получения общей информации по фреймворку - я бы не ожидал, что там будут описаны все-все-все специфические моменты. В ходе работы вылазят разные странные моменты, но во всех таких моментах смотрю исходный код и пытаюсь понять, что не так. По мере появления проблем, репорчу ишьюс в багтрекер Thucydides. Там же, кстати, можно пробовать искать описание ваших проблем - каждое новое обновление приносит новые баги.

И да, информации гуглится довольно мало.

Как и в любом другом open-source проекте, надо идти в source GitHub - thucydides-webtests/thucydides: Thucydides is a tool that lets you use WebDriver-based unit or BDD tests to write more flexible and more reusable WebDriver-based tests, and also to generate documentation about your acceptance tests, including a narrative description of test, along with the corresponding screen shots, and also high-level summaries and aggregations of the test results и рыться там. Но все же, если пройтись по проекту, то там есть unit тесты, которые тоже могут помочь.

А на счет информации, для меня тоже странно, что все вроде бы говорят о нем, а мало кто использует. Или я ошибаюсь?!

@dzhariy все бы так могли, тогда автоматизаторы бы сразу переходили в разработчики :smile:

Могу поспорить :smiley:
Миша, вот приведем в пример тебя, ты же ведь не перешел в разработчики, хотя код умеешь читать и писать.
И многие люди, включая меня, тоже в «официальные разработчики» не спешат. Вот почему? :smiley:

Ну я ты, еще могу человек 10 назвать, сколько еще таких? Но это капля в море среди тысяч тестировщиков.

Не, давай вот всех тестировщиков сюда не будем привлекать. Их слишком много.

Давай возьмем тестировщиков-автоматизаторов.

Да, действительно, есть вещи, настолько хорошо документированные и протестированные миллионами людей, в код которых смысла нет смотреть – достаточно гуглу пожаловаться, и гугл найдет кучу вариантов решения проблемы. Вот в код Пайтона, JUnit или JVM – я бы смотреть не стал.

Давай остановимся на более реальном примере. Вот, казалось бы, куча народу использует WebDriver… а вот только байдинги для разных языков свои, и написанные разными людьми, и получается, что народу то уже не такая огромная куча, если разделить на разные языки программирования.

В итоге получается, что у каждого отдельного байдинга – могут быть разные фичи.
Вот, например в Питоне, библиотека вебдрайвера сама запускает сервер, а в Перле это делается руками. Вот и думай вначале, а почему оно не запускается. Лезишь в исходник, и понимаешь, что нет кода, который это делает.

C# и Java идут с PageObject’ами. Так вот, реализация пейдж обжектов, то разная. И прочитав документацию по Java-пейджобжектам – совсем необязательно, что все так и будет работать для C#.
Кроме того, в одном языке может быть больше фичей, которых нет в другом.
Например, в Java есть FluentWait, которого нет в C#, а в C# есть CustomBy в атрибуте [FindsBy], который позволяет генерировать селектор при помощи пользовательского класса.
Но, объединяет все это одна хорошая штука – каждая фича в проекте Selenium WebDriver – покрыта тестами.

Не читая код и тесты – тоже можно автоматизировать: вставляя костыли, грабли и изобретая велосипеды.

А еще, оказалось, что можно применять одновременно два атрибута
[FindsBy] с разными селектоами, и тогда вебдрайвер будет искать
вначале по первому, а если не найдет – то по второму… или третьему. В
документации этого не было (а может уже появилось), а целенаправленно
погуглив – нашел упоминание в рассылке на google groups.

У вас не сохранилось ссылки на это сообщение. Или хотя бы название группы? Погуглила такую возможность, но ничего не нашла на эту тему. Мне в тестах как раз такой функциональность порой очень не хватает…

@natalja_librant вот как раз, свежая заметка

1 лайк

Для меня лично еще одним хорошим источником информации по Thucydides является гугл-группа по фреймворку.
https://groups.google.com/forum/?hl=ru&fromgroups#!forum/thucydides-users

3 лайка