自动化测试——入门 测试工具的选取

时间:2020-12-22 20:55:03

自动化测试主要包含了“功能测试”和“性能测试”两大类。其中,功能测试比较有代表性的工具有QTP、Selenium等,性能测试的工具有LoadRunner、Jmeter等。

如我在引言中讲的,性能测试可以放在自动化测试三大阶段的第二阶段去实现。因此,自动化测试入门可以先从功能测试下手。下面简单介绍一些自动化工具,供刚入门的tester参考。

QTP(Quick Test Professional):

QTP是一款支持录制、回放的自动化测试工具,需要许可证,可以用于服务器、GUI以及web端的测试。作为入门,我们可以利用它替代一部分重复、或者有规律的手工测试工作,如上千次的重复来回点击。

本人也是从学习QTP开始对自动化测试入门的。QTP在网上的教程很多,大部分都很厚,刚开始学习的时候,可能会对很多知识点感到深涩难懂。如果只是想要使用QTP去完成简单的自动化测试,其实只需要对“如何识别对象”、“对象库的原理”、“如何操作对象库中的对象”进行基本的了解,然后适当学习一些VBScript,就可以很轻松的驾驭QTP了。至于“场景恢复”、“断言”等知识内容,可以慢慢去掌握,用以增强你的自动化测试脚本。

整体来说,QTP是一款集成度非常高的工具,优点是它能比较智能的帮你完成一些工作,如对象的识别、日志的生成等,缺点就是这款工具过于重型,灵活、开放性欠佳。

Selenium:

这是一款当前非常热门和流行的web端自动化测试工具。没错,不同于上面介绍的QTP,Selenium只针对于web测试。并且,Selenium免费、开源。

如果想从Selenium入门,你可能会接触到Selenium IDE、Selenium RC、Selenium Webdriver、Selenium Core这几个名词,然后是他们各自一大堆的概念。这时候不必头大,作为入门,你可以选择从Selenium IDE开始,注意,我这里说的开始,不是这四个名词一个一个学习了解过来,而是开始自动化测试之旅的意思。 :-)

Selenium IDE是火狐浏览器(Firefox)上的一个插件,你能通过这个插件,实现对象的识别,并快速实现一系列自动化的操作,后续我会开一篇简单介绍该插件安装时的注意事项以及使用方法。要掌握Selenium IDE的用法,你需要了解这个工具自身的一些API,并且,需要开始了解和学习xpath以及css——通过学习这些并用在Selenium IDE上,相信你会对自动化测试中的对象识别,拥有更清楚、更深入的认识。

要真正深入使用Selenium,Selenium IDE又会显得轻量级了些,这里推荐你可以尝试开始Selenium Webdriver的学习。在此之前,你最好先学习了解一门编程语言用以入门,这里首推Python,其他像Java、ruby也是推荐的。为什么需要了解一门编程语言呢?

这里就要说到Selenium Webdriver(下文简称webdriver)到底是什么了,他是Selenium 2.0,也算是Selenium 1.0与Webdriver合并后的一种工具,不了解这些没有关系,你只需要知道,需要用一种编程语言来导入它的库才能使用webdriver。

如果你想要进行web端的自动化测试,这里强烈推荐Selenium Webdriver!

(作为入门,个人认为Selenium RC以及Selenium Core还无需亲自去触及,所以这里不展开叙述啦。)

Sikuli:

这是一个神奇的工具,要使用这个工具,你基本不用学习上文中讲到的如何获取到要操作的元素、学习编程语言之类的,了解Sikuli内部的几个API就可以轻松完成测试了。

好了,不故弄玄虚了,Sikuli是一款通过图像匹配来模拟鼠标键盘操作的工具,你只要把需要操作的地方截个图告诉Sikuli,当你让它执行的时候,他就会满桌面的去找到与截图相符的位置,然后开始操作。

再说些Sikuli的基本概念,它是一款用Jython编写的工具,Jython运行在Java虚拟机上,但是它遵循Python的语法规则。所以,要使用Sikuli,你需要先在机器上装好jre才能用,如果想要灵活的运用Sikuli,就需要再去了解Python的语法规则了。

怎么说呢,想要使用Sikuli进行自动化测试真的很简单,但是,个人觉得,真正会用Sikuli后,对你想继续深入了解自动化测试却没有太大的帮助。我们可以将它作为一个识别对象的万能解决方案——因为确实会有一些对象元素,你用QTP、Selenium等工具是不好操作到的。

AutoIT:

最后再介绍一款GUI自动化测试工具,这是一款使用类似Basic语言的免费工具,如果会Python或Java等编程语言,你可以通过AutoIT提供的库,使用此类编程语言去调用它,如果不会的话,学习他自身的语言难度也不是很大。

AutoIT自带一个非常好用的捕获控件信息的工具,并且它能够识别并操作大部分标准控件,如系统自带的计算器、记事本,浏览器的弹出框等等,但是,一些非标准的UI控件,像QQ等DUI的软件,他是无法彻底操作到的——一般是无法的在这一控件上,模拟鼠标响应。


上面介绍了一共4款工具,它们的一个共同点就是,都需要依赖一定的脚本编写,所以,想要深入学习自动化测试,熟悉一门编程脚本语言是必要的,对于没有编程基础的童鞋,个人是很推荐通过学习python来入门,这是一门入门快、功能强劲并且已经非常成熟的语言,好啦,对Python的推销就先到这 :->