Ruby 2个站点的http基本身份验证

Ruby 2个站点的http基本身份验证,ruby,authentication,selenium,webdriver,Ruby,Authentication,Selenium,Webdriver,这对我来说是一个两难的选择,因为我有两个URL需要通过auth url = http://admin:admin@url url2 = https://admin:admin@url2 @driver.navigate.to url2 @driver.navigate.to url 当我执行selenium脚本时,我试图传递url2,然后传递url,以便记住auth。只是有2个重定向,没有办法绕过这一点。 那么,这是什么 url2 http我仍然可以在auth窗口中输入凭据,但url可以

这对我来说是一个两难的选择,因为我有两个URL需要通过auth

url = http://admin:admin@url
url2 = https://admin:admin@url2



@driver.navigate.to url2
@driver.navigate.to url
当我执行selenium脚本时,我试图传递url2,然后传递url,以便记住auth。只是有2个重定向,没有办法绕过这一点。 那么,这是什么 url2 http我仍然可以在auth窗口中输入凭据,但url可以正常通过。 还有什么可以做的吗?
我正在使用Ruby。

如果您的URL使用cookie进行身份验证,您可以事先生成cookie值并将其设置为cookie

require "selenium-webdriver"
require "awesome_print"

driver = Selenium::WebDriver.for :firefox
driver.navigate.to "http://example.com"

COOKIE_DOMAIN = <<-eotl
var cookieName = arguments[0];
var cookieValue = arguments[1];
var myDate = new Date();
myDate.setMonth(myDate.getMonth() + 12);
document.cookie = cookieName +"=" + encodeURIComponent(cookieValue)
                  + ";expires=" + myDate 
                  + ";domain=.example.com;path=/";
eotl

driver.execute_script(COOKIE_DOMAIN,'test','testvalue')
ap driver.manage.cookie_named('test')
需要“selenium webdriver”
需要“绝妙打印”
driver=Selenium::WebDriver.for:firefox
driver.navigate.to“http://example.com"

COOKIE_DOMAIN=此脚本中传递的凭据在哪里?您需要调用生产代码/web服务或类似程序,通过向其提供凭据来生成COOKIE值。请您的开发人员为您提供这样的方法,或者打开生产代码并亲自查看。我也做了同样的事情,对我公司网站的身份验证进行了自动化测试。我的理解是,它应该是基本身份验证,但似乎不像其他url那样在url中拾取身份验证凭据,只有一个不是。问题是,auth将在2周内被删除,目前执行将是为每个场景手动输入凭据