我正在测试的网站要求用户登录,这是由user服务器处理的,而不是HTML表单,因此它在浏览器中生成一个身份验证弹出窗口。
我尝试做了以下几件事
before(:each) do
$browser = Watir::Browser.new :firefox
$browser.driver.manage.window.maximize
$browser.goto('http://qa.outbidhq.com')
popup = RAutomation::Window.new(:title => /Authentication/i)
popup.send_keys('XXXXXX') # USER ID
popup.send_keys :tab
popup.send_keys('YYYYYYYYY') # PASSWORD
popup.send_keys :tab
popup.send_keys :enter
sleep(15)
end 但是代码不起作用......在启动浏览器时,我需要处理带有用户名和password.....any建议的窗口弹出?我是Rspec ...using Ruby的新手
发布于 2013-05-10 00:03:32
RAutomation是一个库,它使用与watir非常相似的API来提供UI自动化。它理解文本字段、按钮等概念。您可以查看rdoc,或者我发现在学习新代码库时有帮助的另一件事是查看tests
由于您正在与之交互的UI位相当简单,因此您可能只需通过索引来引用内容。
我推荐使用IRB来做一些实验,这是最好的尝试方式,看看会发生什么,你可以更容易地检查窗口,一次实验一行代码,看看会发生什么。很有可能你最终会得到这样的结果(未经测试,我猜cancel按钮是索引0,登录按钮是索引1)
popup = RAutomation::Window.new(:title => /Authentication/i)
popup.text_field(:index => 0).set('XXXXXX') # USER ID
popup.text_field(:index => 1).set('YYYYYYYYY') # PASSWORD
popup.button(:index => 1).click 发布于 2013-05-20 01:19:29
您可以在URL中指定HTTP Basic Authentication的用户名和密码:
$browser.goto('http://username:password@qa.outbidhq.com')在这种情况下,应该不会出现身份验证对话框,您应该立即通过身份验证。对此功能的支持取决于浏览器本身,因此在使用Watir尝试之前,您可以通过使用正确的用户名和密码转到url来手动尝试。
https://stackoverflow.com/questions/16460771
复制相似问题