用Autoit处理window弹出窗口

在利用webdriver做自动化测试中,弹出窗口的处理一直是个很棘手的问题。用auoit能很好处理弹出窗口问题,以window自带安全验证窗口为例,其他窗口的处理和这个类似。


require 'win32ole'
require 'date'
require 'win32api'

def dealSecurityDialog(sNTacct,psw)
@autoit = WIN32OLE.new("AutoItX3.Control")
win_title="Windows 安全"
@autoit.WinActivate(win_title)
@autoit.WinWaitActive(win_title)
@autoit.ControlSetText(win_title,"","Edit1","ailk\\#{sNTacct}")
@autoit.ControlSetText(win_title,"","Edit2","#{psw}")
@autoit.ControlClick(win_title,"","Button2")
end


然后可以利用win32获取弹出窗口的句柄,这样就组成了一个判断弹出窗口,处理弹出窗口的函数。
获取到窗口句柄则返回handle,为获取到则返回nil。

def self.dialog_exists?(win_title)
find_window = Win32API.new('user32','FindWindow',['P','P'],'L')
handle = find_window.call(nil,'#{win_title}'.encode('GBK'))
return handle
end
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值