技术干货 | 自动化测试工具Selenium
Posted Inossem英诺森
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术干货 | 自动化测试工具Selenium相关的知识,希望对你有一定的参考价值。
自动化测试概述
1.1概念
用工具代替/辅助人工完成完成软件测试活动的过程。
特点:
可以对程序的新版本自动执行回归测试
可以执行一些手工测试困难或不可能进行的测试
测试具有一致性和可重复性
误区:
期望自动化测试发现大量新故障
1.2自动化测试的优势局限性
优势:
重复多次执行测试时节省很多时间
提高测试覆盖率和测试精度
实现自动化回归测试减少工作量
减少手工测试人为产生的错误
提供规范化的过程和一致性
更好的文档记录
局限性:
手工测试比自动化测试发现的故障更多,自动化测试只能发现约15%的bug
自动化测试不能提高测试的有效性,只能用于提高测试的效率
自动化测试不具有想象力,没人聪明
自动化测试不能代替手工测试,下列情况不适合于自动化测试:
测试频度很低
软件不稳定
结果很容易通过人验证的测试(人式实施较为高效)
涉及物理硬件设备交互的测试
1.3自动化测试的内容
测试数据自动生成
自动化输入
测试结果自动比较
测试自动执行
自动化测试用例的管理
在线监控
1.4自动化脚本技术
线性脚本:录制、回放
结构化脚本:含有控制脚本执行的指令,支持顺序、选择和循环
共享脚本:可以被多个测试用例使用,脚本之间可以互相调用
数据驱动脚本:数据驱动脚本是将测试输入存储在独立的文件中,脚本中只存放控制信息
关键字驱动脚本: 关键字驱动脚本实际上是较重复的数据驱动技术的逻辑扩展 ,即测试用例的执行步骤(操作,操作对象,操作值)存放在文件中,直接执行
1.5 Web自动化测试的基本原理
定位元素-->操作元素-->获取操作后的结果-->实际结果和期望结果对比-->记录测试结果
PS:分析测试结果后,需分析bug产生原因(自动化脚本bug or 系统bug)
1.6 Web自动化测试工具
QTP:是一款商业化的自动化测试工具。提供了强大易用的录制回放功能。
Robot Framework:是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
Selenium: 是一款用于Web应用程序测试的工具,它支持多平台、多语言、多浏览去实现自动化测试。
Selenium
2.1 Selenium工具简介
Selenium是专门为Web应用而开发的自动化测试工具,适合进行功能测试、验收测试,同时支持所有基于web的管理任务自动化。主要功能包括:测试浏览器的兼容性,测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能,创建回归测试检验软件功能和用户需求。
2.2 Selenium特点
开源、免费
多浏览器支持:Firefox、Chrome、IE、Opera
多平台支撑:windows、linux、MAC
对web页面有良好的支撑
简单(API简单)、灵活(用开发语言驱动)
支持分布式执行测试用例
2.3 Java+Selenium环境搭建
Selenium在3.0以前中的火狐Webdriver, 是火狐浏览器自带的功能,但是3.0以后是实现geckodriver,使用FireFox浏览器需要自己下载geckodriver.exe。
优点:geckodriver对页面的自动化测试支持得比较好,很直观地模拟页面的操作,对javascript的支持也非常完善,基本上页面上做的所有操作geckodriver都可以模拟。
缺点:启动很慢,运行也比较慢,不过,启动之后Webdriver的操作速度虽然不快但还是可以接受的,建议不要频繁启动停止geckodriver。
首先下载好Eclipse 和配置好Java 环境变量
下载导入 selenium-server-standalone-3.4.0.jar
下载geckodriver,配置环境变量
2.4 元素定位工具及方法
工具:Firefox 48(低版本)+ Firebug + Firepath
文:张淼
感谢投稿
英诺森是一家致力于企业信息化产品和服务的创新型科技公司。通过融合管理实践与创新信息技术打造行业的数字化解决方案及软件产品。核心业务包括咨询服务、供应链数字化产品、流程自动化产品。
以上是关于技术干货 | 自动化测试工具Selenium的主要内容,如果未能解决你的问题,请参考以下文章