gpt4 book ai didi

ruby - Selenium::WebDriver::Error::UnhandledAlertError) 解除警报后

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:48 25 4
gpt4 key购买 nike

我们有一个如下所示的 Cucumber 场景:

  @selenium
Scenario: I can be told that geolocation is unavailable # features/home_page.feature:57
Given I am a visitor # features/step_definitions/authentication_steps.rb:5
When I visit the homepage # features/step_definitions/home_page_steps.rb:1
And I have declined geolocation permissions # features/step_definitions/home_page_steps.rb:14
And I click the geolocate button # features/step_definitions/home_page_steps.rb:18
Then I see an alert "Unable to determine your current location. Please type an address instead." # features/step_definitions/web_steps.rb:104

I see an alert "(.+?)" 定义为:

Then(/^I see an alert "(.+?)"$/) do |content|
page.driver.browser.switch_to.alert.text.should == content
page.driver.browser.switch_to.alert.dismiss
end

出于某种原因,解除此警报是不够的。下一个场景总是失败:

 Modal dialog present (Selenium::WebDriver::Error::UnhandledAlertError)
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/command_processor.js:10521:in `nsCommandProcessor.execute'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/driver_component.js:7510:in `Dispatcher.executeAs/<'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/driver_component.js:7668:in `Resource.handle'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/driver_component.js:7615:in `Dispatcher.dispatch'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/driver_component.js:10336:in `WebDriverServer/<.handle'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/httpd.js:1935:in `unknown'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/httpd.js:2261:in `ServerHandler.handleResponse'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/httpd.js:1168:in `Connection.process'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/httpd.js:1616:in `RequestReader._handleResponse'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/httpd.js:1464:in `RequestReader._processBody'
[remote server] file:///var/folders/x6/4vcz8vmj5ls2dbc9b3x2qxvh0000gp/T/webdriver-profile20130927-61014-emm2oz/extensions/fxdriver@googlecode.com/components/httpd.js:1333:in `RequestReader.onInputStreamReady'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/response.rb:51:in `assert_ok'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:59:in `new'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:59:in `create_response'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/default.rb:66:in `request'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:629:in `raw_execute'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:607:in `execute'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:356:in `deleteAllCookies'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/options.rb:67:in `delete_all_cookies'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/capybara-2.0.3/lib/capybara/selenium/driver.rb:67:in `reset!'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/capybara-2.0.3/lib/capybara/session.rb:75:in `reset!'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/capybara-2.0.3/lib/capybara.rb:253:in `block in reset_sessions!'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/capybara-2.0.3/lib/capybara.rb:253:in `each'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/capybara-2.0.3/lib/capybara.rb:253:in `reset_sessions!'
/Users/ccashwell/.rvm/gems/ruby-1.9.3-p194@geostellar/gems/capybara-2.0.3/lib/capybara/cucumber.rb:10:in `Before'

我们已尝试升级 selenium-webdriver 和 capybara 但无济于事。到目前为止唯一有用的是复制解雇线,这感觉很恶心但总是摆脱对话。肯定只有一个对话,那有什么用呢?

最佳答案

您应该尝试使用 .accept 而不是 .dismiss。我在这些弹出窗口上使用 .accept.dismiss 运气好。所以你想尝试的完整行是

page.driver.browser.switch_to.alert.accept

关于ruby - Selenium::WebDriver::Error::UnhandledAlertError) 解除警报后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com