自动化测试介绍与selenium配置
分类:
文章
•
2024-06-20 18:03:34
-
什么是自动化测试
(1)自动化测试工具介绍
jmeter:性能测试工具,可以进行接口测试
loadrunner:性能测试工具
soupUI,postman:接口测试
appium:APP自动化测试(IOS/Andrio)
selenium:轻量级免费的自动化测试工具,支持多语言(Java,C#,Python,ruby,JavaScript),多平台(windows、linux、MAC),多浏览器(Chrome,IE,Firefox,Safari,edge,oprea),分布式(靠selenium grid)
(2)自动化测试方法
测试对象:UI、接口、代码
测试过程:系统测试、集成测试、单元测试
执行人员:测试人员、开发人员
(3)UI自动化和接口自动化的区别
UI自动化:
页面相关性强,必须后期介入,即在系统测试功能相对稳定、前端页面开发完成后进行,适合于页面功能相对稳定的项目
接口自动化:
页面相关性小,可在产品前期介入,即在后端开发完成并相对稳定时就可以进行,适合接口变动较小,界面变动频繁的项目
(4)自动化测试的优势
减少重复测试的时间,实现快速回归测试
创建优良可靠的测试过程,减少人为错误
可以运行更多更繁琐的测试
可以执行一些手工测试困难或不可能进行的测试
更好的利用资源
测试具有一致性和重复性
测试脚本的重用性
-
如何实施自动化测试
(1)自动化测试的适用对象
实施自动化测试的前提条件:需求变动不频繁、项目周期足够长、自动化测试脚本可重复使用
1、需求变动频繁的项目,自动化脚本不能重复使用,维护成本太大,性价比低
2、项目周期短,自动化脚本编制完成后使用次数不多,性价比低
3、交互型较强的项目,需要人工干预的项目,自动化无法实施
适合做自动化的项目:产品型项目、机械并频繁的测试
(2)什么时候实施

(3)如何实施自动化测试
自动化测试的具体实现,应该是包含下面七个过程的。
分析:总体把握系统逻辑,分析出系统的核心体系架构。
设计:设计测试用例,测试用例要足够明确和清晰,覆盖面广而精
实现:实现脚本,有两个要求一是断言,二是合理的运用参数化。
执行:执行脚本远远没有想象中那么简单。脚本执行过程中的异常需要仔细的去分析原因。
总结:测试结果的分析,和测试过程的总结是自动化测试的关键。
维护:自动化测试脚本的维护是一个难以解决但又必须要解决的问题。
分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本维护的成本。

(4)自动化测试实施失败的因素
期望值过高,对收益和成本认识不清
成本=实现成本+运行维护成本
自动化测试的收益是由测试脚本的重复运行次数,或自动测试脚本的利用率决定的。
- 发展方向
自动化脚本的执行,维护和结果分析;自动化脚本的编写;自动化测试方案的设计,框架的选型;自动化测试框架的编码实现;自动化测试框架的设计
自动化测试需要了解的技能:
了解基本业务,了解业务的技术框架,懂得功能测试,懂得一种编程语言,懂数据库、操作系统,了解常见的测试框架,…
-
什么是selenium
selenium1(thougthworks公司):
selenium RC 编写自动化脚本(已弃用)
selenium IDE 录制自动化测试脚本
selenium Grid 实现分布式
selenium2:selenium1+Webdriver(谷歌公司)
selenium3:增加了一些浏览器的原生驱动,Safari,edge(微软公司)
webdriver的工作原理:

我们可以把WebDriver驱动浏览器类比成出租车司机开出租车。
在开出租车时有三个角色:
乘客:他/她告诉出租车司机去哪里,大概怎么走
出租车司机:他按照乘客的要求来操控出租车
出租车:出租车按照司机的操控完成真正的行驶,把乘客送到目的地
在WebDriver中也有类似的三个角色:
工程师写的自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动)
浏览器的驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器
浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。
所以在这个类比中:工程师写的自动化测试代码就相当于是乘客,浏览器的驱动就相当于是出租车司机,浏览器就相当于是出租车
-
使用selenium IDE录制脚本
selenium最简单的使用方式就是IDE录制脚本。
1、安装Firefox 17.0 - 40.* ,因为firefox更新过快,selenium的不同版本对firefox的支持不同。注意,安装完毕后,在选项菜单取消自动更新。为了兼容selenium以及ide,建议使用54版本。下载地址:http://ftp.mozilla.org/pub/firefox/releases/
2、安装selenium IDE
下载地址:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/
https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/
SeleniumIDE 是一个 Firefox 插件,是用来开发测试用例的集成开发工具,其简单易用,能够高效的开发测试用例,并可转换成相应的语言脚本。注意:IDE仅作为辅助工具来快速生成用例或者个人测试使用。实际很少用它来管理自动化测试用例并执行。
如下以本机安装的禅道为例介绍IDE的使用。
1、打开Firefox-工具-选择selenium ide
2、点击 File 菜单,弹出下拉列表,选择 New Test Case,此时左中部 Test Case 窗口会增加一个 Untitle 的测试案例,右键点击’Property’,在弹出窗口中重命名为”TestDemo”
3、点击 IDE 的右上部录制按钮(小红点)开始手动录制
4、在地址栏中输入待测试的网址( 禅道)如http://127.0.0.1,输入用户名和密码,进行登录操作。这时可以看到IDE进行了录制操作。
5、在页面中点击右键,可以增加检查点。
6、录制结束后,点击录制按钮(小红点),结束本次手动录制。在selenium IDE 中,选中一个 Test Case,点击File 菜单,下拉列表中选择“Export Test Case As”-“python2/ unittest/ WebDriver”;导出为Testdemo.py文件。
7、将该脚本在python中运行并调试。
至此,就完成了一个test case的生成。
-
selenium+python环境搭建
下载pythonhttp://python.org/getit/
下载setuptools 【python 的基础包工具】http://pypi.python.org/pypi/setuptools
下载pip 【python 的安装包管理工具】https://pypi.python.org/pypi/pip
安装python,双击安装包,安装完成后,配置环境变量,添加python安装路径。
安装setuptools,解压在D:\setuptools目录下,打开命令提示符(开始—cmd 回车)进入D:\setuptools目录下: D:\setuptools> python setup.py install
安装pip ,解压在了D:\pip-1.3.1 目录下,打开命令提示符(开始—cmd 回车)进入D:\pip-1.3.1目录下: D:\pip-1.3.1 > python setup.py install,再切换到D:\Python27\Scripts 目录下输入: D:\Python27\Scripts > easy_install pip
安装selenium(下载地址: https://pypi.python.org/pypi/selenium )
如果是联网状态的话,可以直接在C:\Python27\Scripts 下输入命令安装:C:\Python27\Scripts > pip install -Uselenium
如果没联网,下载最新版本并解压把整个目录放到C:\Python27\Lib\site-packages 目录下或进入解压目录下,再运行python setup.py install。
firefox 47以上版本,需要下载第三方driver
解决办法:
1、下载geckodriver.exe:
下载地址:https://github.com/mozilla/geckodriver/releases,请根据系统版本选择下载;(如Windows 64位系统)
下载解压后将getckodriver.exe复制到Firefox的安装目录下,如(C:\Program Files\Mozilla Firefox),并在环境变量Path中添加路径:C:\Program Files\Mozilla Firefox;
2、firefox升级
如果用Chrome浏览器就要安装chrome driver
下载地址:http://npm.taobao.org/mirrors/chromedriver/
下载解压,会得到一个chromedriver.exe 文件,放到chrome 的安装目录下…\Google\Chrome\Application\ ,然后设置path 环境变量,把chrome 的安装目录(我的:C:\Program Files\Google\Chrome\Application),然后再调用运行。