Watir(Web Application Testing in Ruby)是利用Ruby开发的Test Automation框架,利用它进行Web Application的自动化测试非常方便。
在安装和配置完毕后,运行其自带的google_search.rb例子时出现了问题。
首先交代一下环境,Vista+IE7+Watir1.6.2
问题现象:当前如果有正在打开的IE窗口,ie.goto test_site语句不能在ie=Watir::IE.new新打开的窗口中打开Google主页。因此每次运行到第二步,也就是ie.text_field(:name, "q").set "pickaxe"会出错,出错信息的大概意思是:当前页面上找不到名称为q的元素。
分析原因:Vista中有严格的用户权限管理机制,所有终端用户的登录都是以普通用户权限,所以在安装软件时,会频繁出现是否允许的提示框。
解决方法:
1. 关闭用户访问管理。
vista中使用UAC(User Account Control)对用户账户控制,可以从控制面板中在当前用户上将UAC关闭。步骤:
i>打开控制面板,选择“用户账户”
ii>点击要编辑的账户,在左侧的操作列表有一个“打开或关闭“用户账户””,点击此链接
iii>去掉“使用用户账户控制(UAC)帮助保护您的计算机”前面的选择,点击确定,重启计算机。
推荐使用这种方法,不但可以解决当前问题,而且也省去了以后安装软件时的烦琐提示。
2.关闭IE浏览器的保护模式。
i>打开“Internet选项”窗口,切换到安全Tab页面。
ii>分别去掉“Internet”、“本地Intranet”和“受限站点”站点中“启用保护模式”前面的选择,点击确定按钮,重启启动IE即可。
参考文章:
What should I do if two browser windows appear when running a test under Windows Vista?
Ways to Turn Off and Disable Vista IE 7 Protected Mode