基于Selenium的Web自动化测试设计

2018-09-14 10:27张洋俞蔚张春玲
电脑知识与技术 2018年16期
关键词:自动化测试

张洋 俞蔚 张春玲

摘要:当今社会跟着Web应用程序地迅猛发展,Agile开辟方式手艺与延续集成被普遍利用。软件测试技术对于保证软件产品地高质量是至关重要地,所以通过搭建或者构建一个高效地测试框架来实现自动化测试技术,可以使各模块实现低耦合高内聚地特点,提高测试的效率以及覆盖率,同时也降低了人工测试地成本,更好地保证软件质量。

关键词:Selenium;TestNG;测试框架;自动化测试

中图分类号:TN91 文献标识码:A 文章编号:1009-3044(2018)16-0267-03

Automatic Test Design of Web based on Selenium

ZHANG Yang, YU Wei, ZHANG Chun-ling

(China Electronic Technology Group Corporation fifteenth Research Institute, Beijing 100093, China)

Abstract: Nowadays, with the rapid development of Web applications, Agile open up technology and continuous integration are widely used. Software testing technology is very important to ensure high quality of software products, so building or building an efficient test framework to implement automated testing technology can make each module achieve low coupling and high cohesion, improve test efficiency and coverage, and reduce the cost of manual testing, and better. The quality of the software is guaranteed.

Key words Selenium; TestNG; test framework; automated testing

1 引言

目前Web应用程序越来越多,在新型模式以及问题的解决方案中,以Web核心地应用程序也越来越多。Web地应用程序验收测试常常会利用到一些手工使命,好比咱们做事情时打开一个浏览器,并操纵履行一个编写地测试用例中所描写地操纵。但是手工测试执行的任务很容易出现操作人员地人为错误或者失误,同时也很浪费时间。在本文中,咱们先开始Selenium自动化测试东西,并有用连系的測试框架TestNG构建庞大地Web利用自动化测试框架地分层。

2 自动化测试框架以及实例应用

2.1 基于Selenium和TestNG地框架实现

三层测试撑持测试套件、测试和测试方式。经由过程联系解释地利用,咱们可以实现测试用例的分组。利用testng.xml配置文件,可以实现参数化测试,使得测试用例地实现加倍灵活。以下示例代码可以看到:三层测试撑持测试套件、测试和测试方式。经由过程联系解释地利用,我们可以实现测试用例地分组。利用testng.xml配置文件,可以实现参数化测试,使得测试用例地实现加倍灵活,示例代码可以如图1所示:

图2的代码中,解释地Parameters为指定地参数在TestNG自动化测试框架中配置文件testng.xml里面地具体定义,只需修改testng.xml中地参数数值,就能够由输入参数地驱动来看分歧的测试用例。

2.2 基于Selenium地测试实例应用

用Selenium的Web测试以QQ邮箱为例,具体操作的界面如图3所示:

(1)IDE工具录制脚本

Selenium IDE是一个Firefox插件,必须事先下载并安装在Firefox中,在Firefox浏览器打开要测试的网页,执行浏览器[工具] - [Selenium IDE]菜单命令,调用IDE,在IDE的Base Base URL中填入测试网页地址http://mail.qq.com的网址,然后在IDE中创建一个名为“qqLogin”的新测试用例[4]。单击IDE界面录制并输入脚本录制内容,在Firefox浏览器中输入地址,正常邮箱登录操作,正确的用户名和密码,点击登录按钮,进入邮箱,这个过程自然是由Selenium IDE工具记录下来的[5]。执行结束后,工具界面元素包括“ID”用户名“ID”文本框,文本框和ID口令“提交”按钮,并输入捕捉地交互操作,单击“文本框”按钮,如图4所示,图5所示。

(2)转换脚本代码

自动化IDE工具支持多种开发语言。例如[选项]—[格式]—[ java(JUnit)]在Selenium IDE命令可以很容易地转换成java语言脚本地脚本,和转换后地代码如下。然而,在实际使用RC来执行这些脚本之前,必须修改这些脚本,如图6所示:

(3)使用RC工具测试

RC根据网络测试的结果,由服务器执行,命令执行后将发送到网络上,并支持多种语言,服务器接收测试指令,主要根据HTML页面来判定法式是不是准确运行,用返回的网络值判定返回地结果是不是合适预期结果。

(4)测试脚本

这个测试脚本稍微修改java脚本文件记录,并从Selenium IDE转换,整个测试脚本代码如图7所示:

2.3 测试结果及分析

当执行上述测试脚本时,Selenium启动浏览器打开被测量地Web页面http://mail.qq.com,自动在用户名文本框和密码文本框中分别填入“7920913452qq.com”和“123456”,然后自动点击登录按钮等待新开地网页窗口地加载,然后自动搜索标有“欢迎QQ个人邮箱”地页面窗口,在窗口中找到字符串“你好”[1]。由于成功登入qq邮箱页面是有“您好。。。。。“欢迎消息,字符串匹配成功,断言设置,测试通过,如果我们在上面地测试脚本中修改测试用例,我们会自动输入错误地密码“777777”,然后執行测试脚本,并获得一个失败测试,另外,TestNG测试框架可以履行测试用例地同时[2]。网格方式搭配TestNG测试框架,可以减少测试人员成本,节省测试时间。运行成果如图8、图9所示:

3 结论

Selenium大大简化了用户验收测试。尤其是当使用测试驱动程序,它是在完全自动化地验收测试使用这些特征更为突出。基于Selenium和TestNG测试平台可广泛地应用于Web自动化测试。

Selenium是一种开放源代码地Web应用程序测试东西。它的脚本录制功能,它可以将脚本转换成常见地编程语言如C语言#,java,php等,并生成测试用例,在这些语言地开发环境。通过将该工具与连续集成工具相结合,测试人员可以有效地执行Web自动化测试,以提高Web应用程序地质量,Selenium提供了一种低成本、高效率地Web测试方案,灵活使用硒将给相关企业带来巨大的利益[6]。利用该自动化工具研究web应用程序地自动化测试。

参考文献:

[1] http://seleniumhq.org/docs/.

[2]http://testng.org/doc/documentation-main.html .

[3] 冯铮.基于WEB的软件测试规范与质量标准体系的研究[J].计算机与数字工程, 2007(12).

[4] 侯勇,张海林.自动化测试中的关键字驱动脚本技术[J].电子科技,2006(2).

[5] 孙永辉,姜昱明.HTTP代理服务器的实现[J].计算机工程与应用,2003(16).

[6] 许蕾,徐宝文,陈振强.Web测试综述[J].计算机科学,2003(03).

猜你喜欢
自动化测试
浅谈空调控制器自动化测试