Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用chromedriver运行capybara测试时,以匿名模式启动Chrome_Ruby_Cucumber_Capybara_Selenium Chromedriver - Fatal编程技术网

Ruby 使用chromedriver运行capybara测试时,以匿名模式启动Chrome

Ruby 使用chromedriver运行capybara测试时,以匿名模式启动Chrome,ruby,cucumber,capybara,selenium-chromedriver,Ruby,Cucumber,Capybara,Selenium Chromedriver,当运行cucumber场景时,我想在匿名模式下使用Chrome。我尝试了一些在互联网上找到的建议,但似乎都不管用 目前,我想到了以下,它启动了chrome,但不是在匿名模式下 Capybara.register_driver :selenium do |app| caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => %w["--incognito"]})

当运行cucumber场景时,我想在匿名模式下使用Chrome。我尝试了一些在互联网上找到的建议,但似乎都不管用

目前,我想到了以下,它启动了chrome,但不是在匿名模式下

  Capybara.register_driver :selenium do |app|
  caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => %w["--incognito"]})
  Capybara::Selenium::Driver.new(app, {:browser => :chrome, :desired_capabilities => caps})
end

有什么提示吗?

我发现最好的方法是添加一个注册表项,每次打开chrome时,它都会以匿名模式打开

[HKEY\U LOCAL\U MACHINE\SOFTWARE\Policys\Google\Chrome] “不可识别性”=dword:00000002

如果您转到HKLM\SOFTWARE\Policys右键单击Policys添加文件夹“Google”,然后右键单击Google并添加文件夹“Chrome”。右键单击Chrome添加新dword“IncognitoModeAvailability”将值设置为2


完成此操作后,Chrome每次都应以匿名模式打开。

我找到的最好方法是添加一个注册表项,每次打开Chrome时,它都将以匿名模式打开

[HKEY\U LOCAL\U MACHINE\SOFTWARE\Policys\Google\Chrome] “不可识别性”=dword:00000002

如果您转到HKLM\SOFTWARE\Policys右键单击Policys添加文件夹“Google”,然后右键单击Google并添加文件夹“Chrome”。右键单击Chrome添加新dword“IncognitoModeAvailability”将值设置为2

完成此操作后,Chrome每次都应以匿名模式打开。

深入研究后发现,它非常简单:

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome, switches: ['--incognito'])
  # or
  Capybara::Selenium::Driver.new(app, browser: :chrome, args: ['--incognito'])
end
深入研究,结果很简单:

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome, switches: ['--incognito'])
  # or
  Capybara::Selenium::Driver.new(app, browser: :chrome, args: ['--incognito'])
end

我知道它应该为每个场景启动一个新的浏览器实例(尽管假设我不知道这一点是绝对正确的-我对测试自动化非常陌生),而且它似乎会重新启动,但是,尽管如此,如果我在套装中的任何位置登录,以后它总是会在打开页面时让我登录。起初,我试图用
page.driver.browser.manage.delete\u all\u cookies
清除cookies,但它就是不起作用。我目前正在寻找一个快速的解决方案,因为我应该在周一显示我的工作结果,但大多数方案都失败了,因为我已经开始登录。我知道它应该为每个方案启动一个新的浏览器实例(尽管假设我不知道这一点是绝对正确的-我对测试自动化非常陌生),它看起来确实重新启动了,但不管怎样,如果我在套装中的任何地方登录,以后它总是会在打开页面时让我登录。起初,我试图用
page.driver.browser.manage.delete\u all\u cookies
清除cookies,但它就是不起作用。我目前正在寻找一个快速的解决方案,因为我应该在周一展示我的工作结果,但大多数方案都失败了,因为我已经开始登录了。