我正在写一些的Watir测试案例:
browser.goto "http://egauge2592.egaug.es/"
browser.link(:href,"/settings.html").click
browser.text_field(:index,4).set("some text")
browser.button(:id,"save_button").click
然后是“需要身份验证”对话框打开,询问用户名和密码。
不管我怎样努力,我无法访问文本字段。
我试图send_keys
和JavaScript。
我也试过Watir.autoit
但它说未定义的方法。
我使用的Watir Ubuntu的机器在Firefox浏览器上。
如何填写该对话框中的用户名和密码字段? 我能够与browser.alert.set输入用户名,但只能设置用户名无法访问密码字段。
我写了一个Firefox插件最近处理这个问题。 我还没有跟无头火狐尝试过,但它可能工作......值得一试。 详情请参阅以下内容:
http://www.natontesting.com/2012/10/06/firefox-plugin-test-automation-password-manager/
为了得到它的Watir工作,请尝试以下操作:
browser = Watir::Browser.new
#go to a page that won't bring up the authentication dialog...
browser.goto 'http://www.google.co.uk'
#prepare the script...
pass_man_update_script = <<-SCRIPT
var addCredentialsEvent = new CustomEvent("add_credentials_to_passman", {
detail: {
host: 'http://secure.example.com',
username: 'bob',
password: 'P45sword'
}
});
window.dispatchEvent(addCredentialsEvent);
SCRIPT
#inject the script into the browser:
browser.execute_script pass_man_update_script
#go to the page that prompts the dialog box...
browser.goto "http://secure.example.com"
#you should now be past the dialog box!
我用的Watir-webdriver的,而不是和这个(http://watirwebdriver.com/basic-browser-authentication/)为我工作。
只要把你的基本身份验证凭据的网址:
browser.goto "http://user:pass@egauge2592.egaug.es/"