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,如需转载请自行联系原作者。


目录
相关文章
|
7天前
|
Web App开发 机器学习/深度学习 测试技术
软件测试中的自动化策略:以Selenium为例
【8月更文挑战第31天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发的兴起,自动化测试成为提升效率和确保产品质量的关键手段。本文将介绍如何利用Selenium工具实现软件的自动化测试,从搭建环境到编写测试脚本,再到执行和分析结果,我们将一步步揭示自动化测试的全过程。文章旨在通过具体示例,帮助读者理解并运用自动化测试技术,提高测试工作的效率和效果。
|
8天前
|
传感器 物联网 测试技术
未来科技浪潮中的领航者:区块链、物联网与虚拟现实的融合与创新探索自动化测试之美——以Selenium为例
【8月更文挑战第30天】本文深入探讨了当前最前沿的技术趋势——区块链、物联网和虚拟现实,并分析了它们各自的发展脉络及相互之间的融合可能性。我们将通过具体应用场景描绘这些技术如何塑造未来社会的面貌,同时提供代码示例以加深理解。文章旨在为读者揭示这些技术背后的巨大潜力,以及它们将如何影响我们的工作和生活方式。
|
8天前
|
Web App开发 设计模式 测试技术
探索自动化测试的奥秘:以Selenium为例
【8月更文挑战第31天】在软件开发的世界中,质量是王道。而测试,则是确保软件质量的关键步骤。本文将深入浅出地介绍自动化测试的魅力所在,以Selenium这一流行的开源工具为例,带领读者了解如何通过编写简单的代码来自动执行测试用例,从而提高测试效率和准确性。无论你是测试新手还是希望提升自动化水平的老手,这篇文章都将是你的宝贵财富。
|
7天前
|
Web App开发 测试技术 API
自动化测试之美:使用Selenium和Python进行Web应用测试
【8月更文挑战第31天】在软件开发的快节奏世界中,自动化测试如同一束明灯,照亮了质量保证之路。本文将引导你通过Selenium和Python的强大组合,探索如何构建高效的Web应用测试框架。我们不仅会讨论理论,还会深入代码,从一个简单的示例开始,逐步扩展至更复杂的场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一同揭开自动化测试的神秘面纱,体验它的魅力所在。
|
7天前
|
Web App开发 XML 测试技术
自动化测试框架设计:以Python和Selenium为例
【8月更文挑战第31天】在软件开发的快节奏中,自动化测试成为确保产品质量的关键步骤。本文将引导读者了解如何结合Python语言和Selenium工具来设计一个高效的自动化测试框架。通过浅显易懂的语言和实际代码示例,我们将探索自动化测试框架的核心组件,并学习如何实现它们。无论你是测试新手还是希望提升自动化技能的开发者,这篇文章都将为你打开一扇通向高效软件测试的大门。
|
10天前
|
存储 测试技术 数据安全/隐私保护
自动化测试小技巧之Airtest-Selenium和Excel的无缝协作
【8月更文挑战第26天】在自动化测试中,Airtest-Selenium 与 Excel 的无缝协作能显著提升测试效率与可维护性。通过将 Excel 作为数据源,可轻松存储和读取测试用例数据;测试结果可自动记录在 Excel 中,便于跟踪与分析;利用 Excel 管理测试用例,简化了用例的增删改查;此外,还能自动截图并记录日志,方便问题定位。这种方式不仅提高了自动化测试的灵活性,还使得测试过程更加透明与高效。
|
7天前
|
Web App开发 Java 测试技术
自动化测试的新篇章:使用Selenium WebDriver进行高效测试
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试犹如一艘航船,带领着质量保证团队驶向效率与精准的彼岸。本文将揭开Selenium WebDriver的神秘面纱,通过实际案例引导您掌握这一强大的自动化测试工具。我们将从Selenium WebDriver的基础概念出发,逐步深入到代码示例,最后探讨其在现实项目中的应用场景和优势,旨在为您的软件测试之旅提供清晰的指南。
|
7天前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
7天前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【8月更文挑战第31天】在软件开发的世界中,自动化测试是提高产品质量和开发效率不可或缺的一环。本文将深入探讨Selenium这一强大的自动化测试工具,从其架构、优势到实战应用,一步步揭示如何利用Selenium框架提升软件测试的效率和准确性。通过具体的代码示例,我们将展示Selenium如何简化测试流程,帮助开发者快速定位问题,确保软件的稳定性和可靠性。无论你是测试新手还是资深开发者,这篇文章都将为你打开一扇通往高效自动化测试的大门。
|
7天前
|
Java 测试技术 API
探索自动化测试的奥秘:从Selenium到Appium
【8月更文挑战第31天】本文旨在引导读者理解自动化测试的重要性,并逐步深入介绍如何利用Selenium和Appium这两个强大的工具来提升测试效率和质量。文章不仅分享理论知识,还通过具体代码示例,展示如何在Web应用和移动应用测试中实施自动化策略。
下一篇
DDNS