一、UI自动化测试介绍
1、什么是自动化测试 概念:由程序代替人工进行系统校验的过程。
1.1、自动化测试能解决的问题?
1、回归测试
- 针对之前老的功能进行测试,通过自动化代码实现;
- 针对上一版本的问题的回归;
- 实例化不同的浏览器驱动就相当于对不同浏览器进行操作,从而解决浏览器的兼容性问题;
- 通过一些工具来模拟多个用户实现并发操作;
1.2、自动化测试的优点
1、自动化测试能在较少的时间内执行更多的测试用例;
【自动化测试相关|UI自动化测试基础介绍】2、自动化测试能够减少人为的错误;
3、自动化测试能够克服手动的局限性;
4、自动化测试可以重复执行;
1.3、自动化测试的误区
1、自动化测试可以完全代替手工测试
- 不可以完全代替;
- 针对某些功能没有办法通过自动化脚本来实现;
- 手工测试的积累后通过自动化脚本实现;
- 金融行业更看重业务的积累;
- 自动化测试主要应用于回归测试;
- 页面架构、图片、文字、用户体验;
1、web自动化测试
- web系统;
- APP应用;
- 接口:用来给web应用或者APP前端传输数据用的;
- 针对开发人员的代码进行测试;开发人员自行测试;
- 针对系统、数据、应用等安全方面进行测试;
- 针对Windows的桌面应用程序进行自动化测试;
- 针对嵌入式设备的应用程序进行自动化测试;
2.1、什么项目适合做UI自动化测试?
1、需求变动不频繁
- 前端代码变更维护不方便;
- 项目端,上线之后不需要再去测试;
- 不用回归测试也不需要进行UI自动化测试;
1、手工测试完成之后才做自动化测试(通过手工测试能够清楚的知道自动化测试的步骤及结果)
2.3、UI自动化测试所属分类
1、黑盒测试(功能测试)UI自动化测试 模拟人工对web及app页面操作的过程
2、白盒测试(单元测试)
3、灰盒测试(接口测试)
二、web自动化测试基础 1、web自动化框架 1.1、主流的web自动化工具
1、QTP:支持web、桌面的自动化测试。收费的商用工具;
2、selenium:主要用来做web自动化测试,开源的没费的工具;
3、root framework:自动化测试平台,通过他可以实现web自动化测试、接口自动化测试、桌面的自动化测试;
1.2、selenium特点
用来做web自动化测试
1、开源软件:源代码开放,但是不一定免费;
2、跨平台:操作系统(Windows、Linux、Mac系统);
3、支持多种浏览器:Firefox、Chrome、IE、Edge、Safari;
4、支持多语言:Python、JAVA、C#、JS、Ruby、PHP;
5、成熟稳定国内强大:大公司也在使用;
1.3、selenium发展史
1、selenium1.0
- selenium IDE(Firefox的一款插件,通过可以记录用户的操作并生成对应的自动化脚本)
- selenium grid(通过grid可以将脚本下发到不同的浏览器来执行)
- selenium RC(由JS封装的一个工具)
- selenium1.0 + Webdriver
- 针对浏览器的操作都是通过Webdriver来实现的
- 支持的语言更多
- 删除了selenium RC
- 全面支持java8
- 支持macOS,支持Safari浏览器;
- 支持更多的浏览器
文章图片
2.2、selenium环境安装
1、Python开发工具安装(可参考)
Python安装过程
1、浏览器安装(浏览器电脑已安装)
需要注意浏览器与浏览器驱动的版本
2.3、selenium工具包安装
1、在线安装方式:dos命令:pip install selenium
2、离线安装方式:
- 需要获取selenium离线安装包并解压;
- 在DOS命令进行解压的目录,执行Python setup.py install
- 在file菜单中选择setting,然后选择“Interpreter”
文章图片
如何确认selenium安装完成(pip show selenium)
文章图片
1、安装驱动之前确认已安装浏览器版本;
文章图片
2、驱动下载地址
https://npm.taobao.org/mirrors/chromedriver/
文章图片
推荐阅读
- UI自动化|UI自动化简介
- web|Web UI 自动化测试(5)
- 体系ke-全能软件测试工程师wumi
- java|Java学习专栏!全网最牛!
- sklearn机器学习|学习笔记——sklearn数据预处理和特征工程(过滤法、嵌入法、包装法)
- SfM|猿创征文|SfM(Structure from Motion)学习之路
- 前端学习历程总结|猿创征文|我的前端学习之旅【来自一名大四老学长的真情流露】
- 408学习笔记|【408计算机考研】操作系统——第二章 进程与线程(一)
- 日常|你的外卖为什么他来送——聊一聊外卖订单的生命周期