Я прошел через почту capybara + щелчок на окне предупреждения, но ничего не работает. Ниже приведен мой сценарий:
Сценарий. Когда я нажимаю кнопку обновления, появляется окно предупреждения, содержащее кнопки "ОК" и "Отмена". Нажмите "ОК", затем появится новая форма.
-
Я пишу спецификации запросов, то есть используя rspec и capybara. Основная проблема заключается в том, чтобы нажать на поле предупреждения: следующий мой код:
context "update" do before(:all) do Capybara.current_driver = :selenium end after(:all) do Capybara.use_default_driver end it "update user to trainer" do click_button('Search') sleep 3 page.evaluate_script('data-confirm = function() { return true; }') page.click('OK') click_button('Upgrade') end end
Но выполнение script приводит к следующей ошибке:
Ошибка/Ошибка: page.evaluate_script ('data-confirm = function() {return true;}') Selenium:: WebDriver:: Ошибка:: UnexpectedJavascriptError: неверное назначение левой стороны #./spec/requests/user_upgrades_spec.rb: 30
-
Для второго примера i.e.
page.driver.browser.switch_to.alert.accept
Мой код:
context "update" do before(:all) do Capybara.current_driver = :selenium end after(:all) do Capybara.use_default_driver end it "update user to trainer" do click_button('Search') sleep 3 click_button('Upgrade') page.driver.browser.switch_to.alert.accept end end
Я получаю ошибку:
Ошибка/Ошибка: page.driver.browser.switch_to.alert.accept Selenium:: WebDriver:: Ошибка:: UnhandledError:
Пожалуйста, дайте мне знать, как продолжить дальше