我已经搜索和搜索了这个,但我似乎不能得到这个自动化工作。在OpenQA站点上使用了所有基本的身份验证代码后,我仍然无法使身份验证框工作。
我使用的是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网站上找到的很多信息似乎都过时了。
谢谢
您是否尝试了RAutomation而不是autoit?
您是否尝试使用url与用户和传递它?如url = 'https://username:password@thewebsite.com',您可以尝试在浏览器中手动访问url,如果它手动工作,它应该在您的脚本中也工作。
我来到这里有同样的问题,虽然它看起来像答案是不同的,由于最新版本的Watir和Watir -webdriver。我将使用
来展示我的工作方式:watir (4.0.2 x86-mingw32)
watir-classic (3.6.0)
watir-webdriver (0.6.2)
Watir不再内置自动功能,看起来我发现的其他建议(require 'watir/ie'
)也不再工作了。本着用原始技术解决这个问题的精神:
确保安装后AutoIT已在windows上注册。转到AutotIT dll(与上面提到的rautomation gem一起安装,认为是Watir安装了这个)
cd C:Ruby193librubygems1.9.1gemsrautomation-0.8.0extAutoItX
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