Я создал различные схемы автоматизации тестирования, используя шаблон объекта страницы с Java (https://code.google.com/p/selenium/wiki/PageObjects).
Два из моих больших преимуществ:
1) Вы можете видеть, какие методы доступны, когда у вас есть экземпляр страницы (например, ввод homepage.
покажет мне все действия/методы, которые вы можете вызывать с домашней страницы)
2) Поскольку методы навигации (например, goToHomepage()
) возвращают экземпляр следующей страницы (например, домашняя страница), вы можете перемещаться по своим тестам просто, написав код и увидев, где он вас принимает.
например.
WelcomePage welcomePage = loginPage.loginWithValidUser(validUser);
PaymentsPage paymentsPage = welcomePage.goToPaymentsPage();
Эти преимущества отлично работают с Java, поскольку тип объекта (или страница в этом случае) известен IDE.
Однако, с Ruby, тип объекта не фиксируется в какой-либо точке и часто неоднозначен для среды IDE. Поэтому я не могу понять, как вы можете реализовать эти преимущества для набора автоматизации, построенного с использованием Ruby (например, с помощью Cucumber).
Может ли кто-нибудь показать мне, как использовать Ruby с шаблоном Object Object, чтобы получить эти преимущества?