UI自动化测试+selenium环境安装配置

一、 UI 自动化测试介绍
1 、什么是自动化测试
概念:由程序代替人工进行系统校验的过程
1.1 自动化测试能解决的问题?
1. 解决-回归测试 
2. 解决-压力测试 
3. 解决-兼容性测试 
4. 提高测试效率,保证产品质量 
回归测试:项目在发新版本之后对项目之前的功能进行验证 
压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
兼容性测试:不同浏览器(IE、Firefox、Chrome)等等5
回归测试 ( 冒烟测试 )
针对之前老的功能进行测试 通过自动化的代码来实现。 
针对上一个版本的问题的回归
兼容性测试
web实例化不同的浏览器驱动相当于对不同的浏
览器进行操作,从而解决浏览器的兼容性测试问题
性能测试
通过一些工具来模拟多个用户实现并发操作
提高工作效率,保障产品质量
1.2 自动化测试的优点
自动化测试能在较少的时间内执行更多的测试用例 
自动化测试能够减少人为的错误 
自动化测试能够克服手工的局限性 
自动化测试可以重复执行( 注册用户 --已注册)
1.3 自动化则试的误区
自动化测试可以完全代替手工测试 针针某些功能(图片、页
面架构)也是没有办法通过自动化来实现

自动化测试一定比手工测试厉害 金融行业更看重业务的积累

自动化测试可以发现更多的BUG 是因为自动化测试主要用来做
回归测试

自动化测试适用于所有的功能 页面的架构、图片、文字,用
户体验
1.4 自动化测试分类
web自动化测试(本阶段学习内容) web系统
移动app自动化(本阶段学习内容) app应用
接口自动化 接口:用来给web或者app
前端传输数据用的
单元测试-自动化测试 针对开发人员的代码进行测
试。 是由开发自己来做的
安全测试(渗透测试) 针对系统、数据、应用等
安全方面进行测试
桌面应用自动化测试 针对windows的桌面应用程
序进行自动化测试
嵌入式设备自动化测试 针对嵌入式设备的应用程序
进行自动化测试
2 、什么是 UI 自动化测试
概念:UI(user interface)通过对web应用以及app应用进行自动化
测试的过程。
2.1 什么项目适合做 ui 自动化测试?
需求变动不频繁 前端代码变更维护不方便
项目周期长 项目短,上线之后不需要再去测试
项目需要回归测试 不用回归测试的也不需要写自动化
2.2 UI 自动化测试在什么阶段开始?
手工测试完成之后才做自动化测试,相当于是编写自动化测试
代码(通过手工测试能够清楚的知道自动化测试的步骤以及结
果)
2.3 UI 自动化测试所属分类
黑盒测试(功能测试) UI 自动化测试 模拟人工对 web 以及
app 页面进行操作的过程
白盒测试(单元测试)
灰盒测试(接口测试)
1、V1 通过手工测试完成之后,有十个功能。 
2、 针对V1版本的十个功能,进行自动化的代码编写
3、V2 增加了十个功能(总共有20个功能), v2版本的测试过程
当,新增的10个功能手工测试。针对老的10个功能就可以通过自动
化来进行回归测试。
二、 web 自动化测试基础
1 web 自动化框架
1.1 主流的 web 自动化工具
QTP 由惠普公司开发的一款自动化工具,支持web、桌面的
自动化测试。 收费的商用工具。
selenium 主要用来做web自动化测试的,开源的免费的工
具。
root framework 自动化测试平台。通过它可以实现web自动
化测试、接口自动化测试、桌面的自动化测试。
1.2 selenium 特点
selenium中文名是硒,就是用来做web自动化测试的
开源软件: 源代码开放,但是不一定免费
跨平台: 平台指操作系统。 linux、windows、 mac操作系统
支持多种浏览器:firefox、chrome、 ie、edge、opera、
safari
支持多语言:python\java\C#\js\Ruby\PHP
成熟稳定功能强大:被大公司使用。google、华为、百度、腾
讯
后续大家在选择自动化工具的时,这几个特点就是选择工具的
依据。
1.3selenium 发展史
selenium 1.0
selenium IDE
是firefox的一款插件,通过它可以记录用户的操作并生
成对应的自动化脚本。
selenium grid 
通过grid可以将脚本下发到不同的电脑在不同的浏览器上面执行。
selenium RC
由JS封装的一个工具,用来对浏览器进行操作的。

 selenium 2.0

selenium 1.0 + webdriver
针对浏览器的操作都是通过webdriver来实现的。
支持的语言更多
selenium 3.0
删除了selenium RC
全面支持java8
支持macOS,支持safari浏览器
支持微软最新的EDGE浏览器,支持更多的浏览器
2 、环境搭建
2.1 selenium 工作原理

2.2 selenium 环境安装
2.11 python 开发工具安装
2.12 浏览器安装            需要注意浏览器与浏览器驱动的版本, 不同的浏览器有不同的浏览
器驱动,而且不同的版本也有不同的浏览器驱动
2.3selenium 工具包安装
在线安装方式: 在dos命令行中输入: pip install selenium
离线安装方式: 
需要获取selenium离线安装包并解压
在DOS命令行进入到解压的目录,然后执行python
setup.py install
pycharm进行安装
在file菜单中选择setting, 然后选择"project- interpreter"

FAQ:
搭建环境问题总结:
1、安装过程中没有urllib3这个模块
如果没有对应的模块,可以通过在线或者离线的方式,安装一
下urllib3这个模块
2、chrome浏览器的版本与chrome浏览器驱动的版本不一致
先确定浏览器的版本,再下载对应的浏览器驱动版本
3、chrome浏览器安装有问题,移动了chrome浏览器的应用程序
目录 从C盘移到E盘
不要随便去移动安装程序的位置,因为在注册表中会记录程序
安装目录信息。
4、chrome浏览器驱动没有复制到python安装的根目录下
python安装的根目录不是python安装文件的目录。
5、大家在创建项目时,用的是虚拟环境(包含venv目录),虚拟
环境下找不到selenium模块
切换虚拟环境到正常的环境

 

 

如何确认selenium安装完成:可以通过pip show selenium进行查看

 2.4 浏览器驱动安装

安装浏览器驱动之前,一定要知道自己浏览器的版本。

通过https://npm.taobao.org/mirrors/chromedriver/ 获取对
应的浏览器驱动
解压浏览器驱动文件,并将驱动文件复制到python的根目录就
行了。
查看python安装根目录:通过where python命令

 2.4 入门示例

项目创建
项目名称不要 与第三方的模块名同名
文件名称也不要与第三方的模块名或者是类名同名
项目创建时不要使用虚拟环境

 

# 导入selenium
import time

from selenium import webdriver
# 实例化浏览器驱动对象(创建浏览器驱动对象)
driver = webdriver.Chrome()  # 创建的是谷歌浏览器驱动对象   chrome后面有括号,而且第一个字母要大写
# driver = webdriver.Firefox() # 创建火狐浏览器驱动对象
# 打开百度网站
driver.get("http://www.baidu.com")
# 等待3s(代表业务操作)
time.sleep(3)     # 通过快捷导包的方式导入time模块,  光标要在time后面再按alt+enter
# 退出浏览器驱动(释放系统资源)
driver.quit()

driver.find_elements

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值