3

当我更改代码以最大化浏览器窗口时,使用 capybara 删除浏览器 cookie 不起作用。最初我使用以下代码。在删除 cookie 的情况下它可以正常工作

 browser = Capybara.current_session.driver.browser
  Capybara.default_wait_time = 12
  browser.manage.delete_all_cookies

根据要求,我需要最大化浏览器窗口。所以我将上面的代码更改如下并得到错误代替browser.manage.delete_all_cookies

     browser = Capybara.current_session.driver.browser.manage.window.resize_to(1600, 800)
    Capybara.default_wait_time = 12
    browser.manage.delete_all_cookies

'startTesting':Undefined method 'manage' for nilClass(noMethodError)
4

1 回答 1

9

问题在于browser被设置为resize_to方法返回的值,该值基于错误消息是nil.

您应该调整窗口大小,类似于删除 cookie 的方式:

browser = Capybara.current_session.driver.browser
browser.manage.window.resize_to(1600, 800)
Capybara.default_wait_time = 12
browser.manage.delete_all_cookies

请注意,调整大小是在它自己的行上(即不是设置browser变量的行的一部分)。

于 2013-06-04T14:14:07.597 回答