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

本文介绍了自动化测试的基本概念,包括UI、接口和单元测试自动化,并重点讲解了selenium的使用,包括环境搭建、webdriver的工作原理、元素定位和操作、浏览器控制等,适合初学者入门。
摘要由CSDN通过智能技术生成

自动化测试

什么是自动化测试

指软件的自动化测试,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将认为驱动的测试转化为机器执行的过程。自动化测试包括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、退出浏览器,清除缓存垃圾
dr.quit()

在第四步中,想要操作元素就先要定位元素,那么如何定位元素呢?

元素的定位

元素定位的方法:
1、id
如果元素有id,一般在页面中是唯一的
2、name
使用name定位的前提条件是要唯一
3、class name
使用class name定位的前提条件是要唯一
4、link text
页面上的文字链接
5、partial link text
使用上面link text的部分内容定位
6、tag name
使用tag name定位的前提条件是要唯一
7、xpath
找到元素属性右键copy-xpath
8、css selector
找到对应元素属性右键copy-selector
查找方法:
找到想要操作的元素,右击“检查”,可查看要操作元素的相关属性

在这里插入图片描述
找到了元素对象,就要去操作他,怎么去操作呢?

操作测试对象

1、click()点击对象
用于点击按钮
2、send_keys(" ")在对象上模拟按键输入
用于在一个输入框里输入内容
3、clear()清楚对象输入的文本内容
用于清除输入框里的内容
4、submit()提交
用于提交表单,可以达到click一样的效果
5、text用于获

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值