Задать вопрос
torrie
@torrie
Всё знаю, всё умею

Что выбрать для эмуляции псевдо-случайных пользовательских действий?

По сути ищу лучшую систему для организации функциональных автотестов.

Например, простейший кейс - на странице отображается элемент без id, классов. Известно лишь то, в каких пределах экрана он отображается. Необходимо запустить браузер в режиме инкогнито, перейти по ссылке, совершить клик в случайном месте заданной области и сэмулировать случайные действия на открытой странице - заполнить форму случайными данными, понажимать в разные (x,y), попереходить по случайным ссылкам, etc.
В общем, эдакий monkey-testing с алгоритмом действий.

Пробовал Selenium. Удивлен, что не умеет многое делать(или я не нашел как это?). Открыл Selenium, протуториался, встрял, что нельзя обращаться к элементу без id(только xpath'ом выдирать. вы серьёзно?), с координатами работа бедная и в остальном куча неприятных разностей(нельзя срандомизировать действия, все тестовые кейсы должны быть четко-описанными, etc). Плюнул.

Пошел искать дальше. Открыл gremlin.js (habrahabr.ru/post/216805/) - отличная monkey-testing библиотека. Только нужно js подсовывать на каждую открытую страницу. Вариант неплохой, но хотелось бы альтернатив конечно.

Следующий герой - AutoClickerExtreme. Реализовал всё, что хотелось. Минусы - программа нестабильная(вылетает частенько), платная, сложно отрабатывать вылеты всякие и рандомизация малая всё-таки.

Какой софт ещё стоит пощупать для полноты картины?
  • Вопрос задан
  • 2696 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@polarnik
Тестировщик
Selenium. Можно обращаться к элементу без id. Можно вообще все div на странице получать, выбирать из списка случайный. Кликать по нему. Выбирать можно, для простоты, по наименованию тега.
Ссылки на документацию есть на странице https://code.google.com/p/selenium/
Допустим, вы используете C# в качестве языка программирования, тогда описание выбора элементов по имени тега:
selenium.googlecode.com/git/docs/api/dotnet/html/M...
А именно: FindElementsByClassName
Обычно помогает более гибкий метод: FindElementsByCssSelector
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы