Selenium IDE, Selenium Client, Ruby, Rails 3, поддержка сессий - PullRequest
1 голос
/ 27 марта 2012

Я совершенно новичок в Selenium. В настоящее время я использую драйвер селена для написания тестовых примеров в ruby ​​на рельсах. В приложении, я обязан войти и выйти для каждого теста. Итак, я экспортировал все тестовые случаи из Selenium IDE в rails 3. Мне нужно использовать один и тот же сеанс браузера для нескольких тестовых случаев. Поэтому я вызываю тест входа перед тем, как выполнить обязательный тестовый пример в одном файле ruby. Можно ли поддерживать сеанс браузера для следующих последовательных тестов в rails 3 с помощью Selenium Client или Selenium Webdriver?

1 Ответ

0 голосов
/ 29 марта 2012

Я получил решение для этой проблемы для Selenium Client / Webdriver в Ruby on Rails 3. Чтобы поддерживать сеанс от тестового сценария до другого сценария, единственное, что вам нужно, это переменная сеанса. Поскольку я написал другой сценарий входа в систему, и этот сценарий вызывается в других файлах других сценариев, поэтому из этого другого файла я должен получить доступ к переменной сеанса из сценария входа в систему. Чтобы получить доступ к переменной из сценария входа, код внутри преобразуется в модуль. Вот как это работает для меня: ----Начните----- ------ Login.rb ----- ModuleName модуля def methodName ---- Напишите конкретный код для входа в систему через селен --- #

@ variable = SELENIUM :: CLIENT: DRIVER.new \ # --- Создать экземпляр браузера и сохранить в переменной --- # *

return @variable # - вернуть обратно переменную из этого метода конец

конец

------ File1.rb ----- Требуется Login.rb # --- Укажите путь --- # включает ModuleName

Файл класса

def setup

@ local = ModuleName.methodName # - метод доступа к модулю, который будет возвращать объект сеанса. конец def test_file

- Доступ к этому @local в оставшейся части кода - # конец

конец ----- Конец ----

Это был твик для доступа к переменной из файла1 в файл2. Я надеюсь, что это может кому-то помочь .........

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