Какой шаблон разработки теста использовать для автоматизации многопользовательской веб-страницы входа? - PullRequest
0 голосов
/ 13 декабря 2018

Я автоматизировал веб-приложения, используя Selenium Webdriver, используя Ruby.У меня есть сценарий, когда страница входа может выглядеть по-разному для разных пользователей.Как я могу начать автоматизировать такую ​​страницу?Подойдет ли объектная модель страницы для этого сценария?

Ценю вашу помощь.

Спасибо

1 Ответ

0 голосов
/ 13 декабря 2018

Итак, вот как я думаю, что справлюсь с этим сценарием, я сделаю некоторые предположения, чтобы проиллюстрировать то, что я думаю, просто для объяснения:

предположение 1: У меня есть YAML, которыйбудет хранить кредиты для всех пользователей.

допущение 2: в этом примере, скажем, я использую работу с огурцом в Selenium / Ruby для проверки страницы входа в систему: https://github.com/cucumber/cucumber-ruby.

ИтакУ меня есть класс Ruby, который будет включать в себя гем pageObject и будет иметь URL-адреса и объекты страниц для всех различных страниц входа в систему, например: class LoginPage include PageObject page_url_user_1 = someUrl for user1's login page page_url_user_2 = someUrl for user2's login page text_field(:user_1, name: 'username') text_field(:pass_1, name: 'password') button(:submit, css: '.submit-btn') text_field(:user_2, name: 'username') text_field(:pass_2, name: 'password') button(:submit, css: '.submit-btn') def submit_creds(user_1) self.user_1 = GetCreds fro YAML self.pass_1 = GetCreds fro YAML self.submit end def navigate_to_Login_page(page_url_user_1) @browser.navigate.to page_url_user_1 end end

Теперь На уровне Cucumber у вас есть шаг функции, такой как:

When I navigate to "page_url_user_1" login page And I login as "User_1"

и на шаге Определение вы можете просто получить что-то вроде:

when(/^I navigate to "([^"]*)" login page do |user_login_url| on(LoginPage).navigate_to_Login(user_login_url) end when(/^I login as a "([^"]*)" do |user_name| on(LoginPage).submit_creds(user_name) end Надеюсь, это поможет вам начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...