Selenium如何支持测试Windows application

很长一段时间大家都支持Selenium是只支持测试Web应用程序的。

纵观Selenium的成长历程,不难解释这个原因。Selenium开始的时候是作为一个Firefox中的插件出现的,而且做得是纯JS脚本的方式,目的就是一个老外测试的有点烦了,就写了一个js的脚本每天去run自己的测试项目。从这个点来看,老外真的很有才。。想想国内的同行有谁会想到做得有点烦了,去自己搞腾一个工具去做每天的工作。。。

后面Selenium做得挺不错的,老外也感觉自己乐不如大家同乐。。。于是就开源了Selenium,后面进一步的壮大了,反而让Selenium开花结果,产生了一个真正意义上的自动化的支持。先是java版本的,然后是其他语言版本的,像Ruby ,c#,python等等。。。感觉好强大啊。

而且Selenium就是针对QTP来干的。。。SeleniumHq,就是对着HP干的。。。看出来了吗?

可能慢慢的你还发现Selenium做点web的测试还是可以的,可能针对Windows的程序如何用它去测试呢?

还是强大的网友给出了答案。让Selenium支持Windows程序无缝连接。。。这里就是推荐使用AutoIt这个工具,关于如何使用你需要到网上搜索看看了。http://www.autoitscript.com/site/autoit/

下面是可以用的的AutoIt的API 函数。

  View Code

需要两个文件才能使用Autoit提供的外部操作API.

一个是jacob文件,这个是java操作DCOM的一个桥梁API工具;

一个是AutoitX3.dll文件;

 

下载了上面的两个文件,一个是在本地register所需要的autoit dll文件。

采用命令:regsvr32 autoitx3.dll 文件即可;

然后再java代码中如下调用即可:

  View Code

,之后你就能在你的java程序中调用Autoit的API即可。

如下:

复制代码
AutoItXUtils autoit=getAutoItX();   //得到Autoit的实体类
        autoit.winWait(title, text, 120);   //激活一个windows窗口,只需要指定窗口的标题和对应的可见文本,这里会等待窗口出现,如果在120秒内还是没有出现就返回false
        autoit.winActivate(title, text);  //激活窗口
        boolean clicked=autoit.controlClick(title, text, controlID); //点击一个控件,需要指定这个控件的windows id,还有控件所对应的title及其可见的text
复制代码

是不是很不错,可以的话,你可以尝试下去操作弄弄。

不过使用了AutoIt的话,你就不能使用Selenium的RemoteWebDriver的特性了,也就是分布式执行的相关操作了,因为所有的Autoit的脚本其实都是运行在本地的,所以如果你需要让Selenium继续可以在不同的机器上运行,你可能需要使用Jenkins操作了。


本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/p/3323835.html,如需转载请自行联系原作者。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值