Я пытаюсь использовать EventFiringWebDriver на объектной модели страницы. Как это может быть достигнуто, поскольку методы PageFactory.initElements() принимают только экземпляры WebDriver, а не экземпляры EventFiringWebDriver. Кастинг EventFiringWebDriver для WebDriver здесь не работает.Как использовать EventFiringWebDriver в модели объекта страницы
1
A
ответ
1
Просто реализуйте свои собственные объекты страницы, следуя принципам. Вы узнаете, что существует множество вещей, отличных от случая к случаю (компания для компании), и нет такой вещи, как «один размер подходит всем».
Используя тот же пример, как page factory я бы сделать что-то вроде (очень псевдокод):
class Home {
construct(WebDriver) {
this.webdriver = WebDriver
}
fillSearch(text) {
webdriver.findById('x').send_keys(text);
}
submit(isValid) {
if (isValid) {
return new ResultsPage(this.webdriver);
} else {
return self(this.webdriver)
}
}
}
В зависимости от того, что вы проверяете вы, возможно, придется вводить также «контекст» в конструкторе - для ' полиморфных "страниц, которые имеют различное поведение в зависимости от ... контекста.
I.e. «Каротаж в» впервые может принять вас на страницу «тур», но после этого на «приборной панели», чтобы вы могли иметь что-то вроде:
class Login {
construct(WebDriver, context) {
this.webdriver = WebDriver
}
fillUsername(text) {
webdriver.findById('username').send_keys(text)
}
fillPassword(text) {
webdriver.findById('password').send_keys(text)
}
submit(isValid) {
if (isValid) {
if (context.isFirstTimeLogin) {
return new Tutorial(this.webdriver, context)
} else {
return new Dashboard(this.webdriver, context)
}
} else {
return self(this.webdriver)
}
}
}
Как вы уже можете видеть конструктор может быть абстрактным страница
Смежные вопросы
- 1. Невозможно использовать объект EventFiringWebDriver в дочернем классе
- 2. Что такое EventFiringWebDriver в селене
- 3. Необходимость фабрики страниц в модели объекта страницы
- 4. Selenium EventFiringWebDriver Перемещенное событие
- 5. Исключительное исходное исключение для слушателя EventFiringWebDriver
- 6. EventFiringWebDriver не уведомляет о событиях
- 7. использовать столбцы _trackXXX в модели бизнес-объекта
- 8. Как использовать модели в CodeIgniter?
- 9. Как использовать переменную объекта страницы в функции protractor .each()?
- 10. Как использовать шаблон объекта страницы в играх 2.1 тестовых классов?
- 11. Реализация объектной модели страницы
- 12. Как обрабатывать фрейм в объектной модели страницы
- 13. Определение объекта в модели
- 14. Как проверить объект модели внутри объекта модели в MVC3?
- 15. Как использовать get для установки атрибутов модели из вложенного объекта
- 16. Страница объекта Обсуждение модели
- 17. Как использовать django.contrib.humanize в модели
- 18. Как сравнить два объекта модели?
- 19. Как обрабатывать динамические таблицы html в модели объекта страницы, используя страницу fatory в selenium?
- 20. Как использовать шаблон объекта страницы с огурцом и Webrat/Selenium?
- 21. Как вставлять объект модели в другой модели объекта
- 22. Как получить значение объекта в модели ActiveRecord?
- 23. Как получить имя модели объекта в рельсах?
- 24. Как получить значения модели от объекта, имеющего две модели
- 25. Проверка отдельного объекта в модели
- 26. Как использовать страницы в WordPress?
- 27. Атрибут модели содержит коллекцию объекта
- 28. Associate PartialView модели страницы
- 29. Ошибка страницы страницы объекта-искателя
- 30. Использование параметров объекта в модели