【关于自动化测试那些事儿(1)】

自动化测试

什么是自动化测试

指软件的自动化测试,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将认为驱动的测试转化为机器执行的过程。自动化测试包括UI自动化、接口自动化、单元测试自动化。

单元自动化测

投入最大,运行的频率也最高
Java的单元测试框架是Junit→Junit学习文档

接口自动化

接口测试就是API测试
特点:
1、可在产品前期,接口完成后介入
2、用例维护量小
3、适用于接口变动较小,界面变动频繁的项目
常见的接口自动化测试工具:
RobotFramework、JMeter、SoapUI、TestNG+HttpClient、Postman……

UI自动化测试

贴近用户需求和软件系统的实际业务
特点:
1、用例维护量大
2、页面相关性强,后期项目页面开发完成后才能介入
3、适用于界面变动小的项目
优点:
1、适用于回归测试(产品型项目,项目周期长)和兼容性测试
2、可执行手工测试不能完成/有困难,较繁琐的测试
3、可精确控制时间,机器较为可靠和精确
4、测试脚本的重用性
常用的测试框架:
Windows客户端测试的AutoIT,web测试的selenium以及Robot framework等
如何实施自动化测试?
1、分析:把握系统逻辑,分析核心体系架构
2、设计:设计测试用例
3、实现:实现脚本
4、执行:执行脚本,分析异常
5、总结:测试过程总结,测试结果分析
6、维护:测试脚本维护
7、分析:测试用例的覆盖风险以及脚本维护成本

selenium

web应用中基于UI自动化测试框架,支持多平台,多浏览器,多语言
1、Selenium IDE
可以直接录制在浏览器的用户操作,可回放,编辑,调试测试脚本,录制的脚本可以以多种语言导出(Java、C#、python、Ruby)
安装和使用(以Firefox为例):
1、右上角打开应用程序菜单,找到“扩展和主题”
在这里插入图片描述
2、搜索selenium
在这里插入图片描述
3、点进去添加即可(添加成功显示如下,我这里已经是安装好了)
在这里插入图片描述
使用:
1、点击
在这里插入图片描述
2、录制
在这里插入图片描述
3、项目名称
在这里插入图片描述

4、设置一个要录制使用的URL(以百度为例)
在这里插入图片描述
5、操作完以后停止录制(右上角的红点)
在这里插入图片描述

6、导出脚本
在这里插入图片描述
7、选择想要导出的语言
在这里插入图片描述
导出到自己的一个文件夹里就好了

8、回放(将刚刚的操作回放一遍)
在这里插入图片描述
在这里插入图片描述
2、webdriver
解决Selenium的环境沙箱问题(绕过JS沙箱)
工作原理:
1、启动浏览器后,selenium-webdriver会将目标浏览器绑定到特定的端口,启动后的浏览器作为webdriver的remote server(远程服务器)
2、客户端(测试脚本),借助ComandExecutor发送HTTP请求给server端(通过协议:The WebDriver Wire Protocol(Selenium自己定义的协议),在HTTP request 的body中,会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium,我们希望浏览器接下来做哪些事情)
3、server端需要依赖原生的浏览器组件,转化WebService 的命令为浏览器native的调用来完成操作
可以更通俗的理解:由于客户端脚本(java,python,ruby)不能直接和浏览器通信,这时候可以把webservice当做一个翻译器,它可以把客户端代码翻译成浏览器可以识别的代码(比如js),客户端(也就是测试脚本)创建一个session,在该session中通过http请求向webservice发送restful的请求,webservice翻译成浏览器懂得脚本传给浏览器,浏览器把执行的结果返回给webservice,webservice把返回的结果做了一些封装(一般都是json格式),然后返回给client,根据返回值就能判断对浏览器的操作是不是执行成功。
ps:关于session
在这里插入图片描述

selenium+python环境搭建

1、python环境安装点击官下载
配置环境:安装的时候勾选add python to path(不勾选需要自己配置环境)
2、安装setuptools
cmd命令:pip install setuptools
3、安装selenium
cmd命令: pip install selenium
可能出现的问题:
在这里插入图片描述
解决方法:切换到你安装python路径下Scripts这个目录
cmd命令:cd /d+你的路径(以d盘为例)
在这里插入图片描述
4、安装驱动
火狐驱动下载
谷歌驱动下载,找到和自己谷歌浏览器版本匹配的下载即可
驱动下载完后解压放到python安装目录的scripts下就行了

webdriver API

一个简单的自动化脚本的构成

# 设置脚本编码模式,防止乱码,编辑器默认utf8
# coding = utf8
# 1、导包,需要用啥导啥
from selenium import webdriver
import time
# 2、获得驱动
dr =webdriver.Chrome()
# 3、输入想访问的URL,以百度为例
dr.get("https://www.baidu.com/")
# 4、定位页面元素,对元素进行操作
dr.find_element_by_id("kw").send_keys("都挺好")
time.sleep(3)
# 点击
dr.find_element_by_id("su").click
# 5、退出浏览器,清除缓存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值