Selenium Page Object (PO) и платформа, управляемая ключевыми словами

Я новичок в Selenium, нужен совет.

Насколько я понимаю, в Page Object мы должны создать класс Java для каждой страницы. В Keyword Driven Framework нам нужно создать общий модуль, который на основе входного ключа выполняет действие на основе предопределенных правил.

Мой вопрос: когда мы внедряем структуру, управляемую ключевыми словами, объект страницы больше не является вариантом? Могут ли сосуществовать структура, управляемая ключевыми словами, и реализация Page Object?


person Murko Agom    schedule 07.05.2015    source источник


Ответы (5)


Да, они могут сосуществовать.

Независимо от того, как вы хотите протестировать, я рассматриваю Page Object как основу. Это значительно снижает стоимость обслуживания.

Платформа, управляемая ключевыми словами, создана как более высокий уровень абстракции, чтобы нетехническим специалистам было легче понять дизайн тестового примера. Например, функция с именем login объясняет, что она войдет в систему. Затем эта функция входа использует объекты страницы для создания вызовов элементов.

Таким образом, Page Object — это всего лишь более низкий уровень абстракции, облегчающий создание тестовых случаев.

http://www.ranorex.com/blog/keyword-driven-test-automation-framework

Эта ссылка объясняет, что такое keword.

person Andreas Waldahl    schedule 07.05.2015

Это пример структуры, основанной на ключевых словах, реализованной в Selenium.

http://www.testautomationguru.com/keyword-driven-framework-for-localization-testing-using-selenium-webdriver/

Как бы то ни было, не имеет смысла использовать POM в чисто низкоуровневой структуре, основанной на ключевых словах. Потому что каждый элемент страницы и соответствующее действие будут описаны в электронной таблице.

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

Гибридная платформа: http://www.testautomationguru.com/hybrid-test-automation-framework/

Приведенный выше пример находится в QTP. Но вы получите идею.

Дизайн объектов страницы: http://www.testautomationguru.com/arquillian-graphene-page-fragments/

person vins    schedule 24.10.2016

Управляемый ключевыми словами будет работать на основе абстракции ключевых слов в ваших классах. Для простого примера щелчок, ввод, кнопка, раскрывающийся список, переключатель, флажок и т. д. являются ключевыми словами и должны поддерживать отдельные функции в вашем классе. Для их поддержания большинство из них использует excel, csv.

Пример: BaseClass содержит все операции с ключевыми словами, такими как public void input(String locatorType, String locatorValue) //здесь тип локатора будет иметь xpath, id, имя, класс, тег и соответствующее значение.

Проблемы: - Сегодня я хочу зарегистрироваться и войти в систему, хорошо, без проблем. Я подготовил шаги и успешно выполнил их, а завтра руководство хочет выполнить только функцию входа в систему. Как мы можем управлять, вы можете переписать шаги? Могу ли я использовать любую среду тестирования, может быть двусмысленность возникает из-за ввода excel и testng! Так предпочтительнее? НЕТ, потому что это легко увидеть, но трудно управлять!

Теперь объектная модель страницы: это не структура, это шаблон проектирования или методология. Здесь, если вы используете какую-либо среду тестирования (testng), легко поддерживать ваши методы/операции. Мы можем использовать datadrivern, который имеет смысл.

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

person Praneeth    schedule 29.11.2016

У меня есть Keyword Driven, Hybrid и Page Object Modal.

Модальный объект страницы: хорошо работает для готового приложения. Но если вы работаете над Agile, то это не подходит. Если локатор продолжает меняться, каждый раз вы будете получать отказ. Учтите, что на вашей странице входа есть кнопка отмены, и вы меньше всего беспокоитесь об изменении в отмен. если локатор изменится для этого, это заставит вас провалить весь тестовый пример, потому что каждый тестовый пример должен встречаться только на странице входа/.

Гибрид: Ключевое слово+ POM:

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

person ChanGan    schedule 22.02.2018

Я не согласен с утверждением «Если локатор продолжает меняться, каждый раз вы будете получать сбои ..», это правда, если локаторы изменились, скрипты не будут работать независимо от фреймворка. Нам нужно справиться с этим с помощью логики скрипта, скрипт должен быть достаточно умным, чтобы найти элемент с любыми локаторами.

person Rahul Ganjare    schedule 19.03.2019