我搜索并搜索了这个,但我似乎无法让这种自动化工作。使用OpenQA网站上的所有basic authentication code后,我仍然无法使用身份验证框。
我正在使用IE8,其网站启用了HTTPS。
通过使用Watir,我可以将IE打开到正确的页面,但我尝试的任何内容都不允许我在登录表单中输入任何内容。
以下代码我将其简化为:
require 'watir'
url = 'https://thewebsite.com'
@username = 'myusername'
@password = 'mypassword'
browser = Watir::Browser.new
browser.goto url
sleep 5
Watir.autoit.WinWait('Blank Page')
Watir.autoit.Send(@username)
Watir.autoit.Send('{TAB}')
Watir.autoit.Send(@password)
Watir.autoit.Send('{ENTER}')
有没有人有任何建议或链接?我在OpenQA网站上发现的很多信息似乎已经过时了。
由于
答案 0 :(得分:1)
您是否尝试RAutomation而不是自动?
答案 1 :(得分:0)
您是否尝试过将url与用户一起使用并传入?如url ='https:// username:password@thewebsite.com',您可以尝试在浏览器中手动访问网址,如果手动工作,它也可以在您的脚本中使用。
答案 2 :(得分:0)
我来到这里遇到同样的问题,虽然看起来答案因Watir和watir-webdriver的最新版本而有所不同。我会用以下方式展示对我有用的东西:
watir (4.0.2 x86-mingw32)
watir-classic (3.6.0)
watir-webdriver (0.6.2)
Watir没有内置autoit,它看起来像我发现的其他建议(require 'watir/ie'
)也不再起作用。本着求解原始技术的精神:
确保安装后AutoIT已在Windows中注册。 转到AutotIT dll(与上面提到的rautomation gem一起安装,认为Watir安装了这个)
cd C:\Ruby193\lib\ruby\gems\1.9.1\gems\rautomation-0.8.0\ext\AutoItX
regsvr32 AutoItX3.dll
然后下面的代码应该可以工作
require 'watir'
require 'win32ole'
$b = Watir::Browser.new :ie
begin
$b.goto( 'http://10.254.157.34:8383/mywebsite/stuff.html');
rescue Exception => e
puts "Trapped Error, expecting modal dialog exception"
puts e.backtrace
puts "Continuing"
end
login_title = "Windows Security" #For Windows 7, dialog title for anything else
username = "myuser"
password = "mypassword"
sleep 1 #Just in case
au3 = WIN32OLE.new("AutoItX3.Control")
win_exists = au3.WinWait(login_title, "", 5)
if (win_exists > 0)
au3.WinActivate(login_title)
au3.Send('!u')
au3.Send(username)
au3.Send('{TAB}')
au3.Send(password)
au3.Send('{ENTER}')
end