随着测试技能的不断增长,许多测试人员都会写自动化测
试脚本;
自动化代码,无疑是可以满足接口和UI跑通;但是,有的项目组或者测试人员,更需要有这么一套代码,就是能让测试脚本在不同环境、不同终端都能够适用;
本文主要讲述的是:如何做好自动化的适配,以及对于的落地方案。
注意事项:
--------------免费收徒,可以给我留言。-----------!
本文是对软件测试相关技术的分享,可能会引起初学者某种不适,仅此说明,珍重身体,远离编程,因为人生苦短。
回归正题,本文偏向于适用以下读者:
- 具有较强的思维逻辑能力
- 软件研发类的从业人员,尤其是有编码经验的软件测试人员最为收益
- 想要从功能测试到自动化测试过渡或提升自动化测试思想的软件测试人员
自动化适配
环境
基于业务功能,本质上无论是开发环境或测试环境或生产环境,接口逻辑、UI交互等等都是一样的;
实际测试工作过程中,就是占用测试时间最多的首要是对于业务功能的理解,再一个就是执行测试的过程;执行测试的时候(测试用例的几个属性)包含了测试数据构造(预置条件)、操作步骤的执行、实际结果与预期结果的比对来校验被测业务功能的测试点是否测试通过;
为了满足一套脚本能够在【开发环境、测试环境、生产环境】,而且最小程度减少代码的编辑(增加、删除、修改),那么做的比较好一点的就是更改一下配置项;譬如,基于数据驱动的基础上,更改config.ini配置文件中的域名或IP、端口,依此来实现一套测试脚本在多个”环境“中适用,来实现在【开发环境、测试环境、生产环境】都能实现急速构造”测试数据“以及”回归测试“;
那么问题来了,这里可能会有读者产生疑问“测试环境构造测试数据也就算了,为什么要在开发环境和生产环境构造测试数据呢?”
答疑:
- 开发环境构造数据:要想和研发同学玩的好,而且测试人员想在研发同学面前有底气,并且主要是为了协同工作,给研发人员构造”测试数据“,这样一来缩短研发时间;
- 生产环境构造数据:是为了版本发布生产环境后,能够在极短时间内实现”1分钟急速验证生产环境“,这样一来是不是爽歪歪呢!
config.ini内容:
[HTTP1] # 开发环境
protocol = http
ip = 192.168.10.1
port = 80
[HTTP2] # 测试环境
protocol = http
ip = 192.168.10.2
port = 80
[HTTP3] # 生产环境
protocol = http
ip = 192.168.10.3
port = 80
封装读取ini配置文件的方法,return返回base_url作为接口请求的基础url地址;这里要补充一点,实际编写业务侧脚本时,base_url后面需要拼接相应业务接口地址;
readConfig.py
# coding=utf-8
import configparser
proDir = os.path.split(os.path.realpath(__file__))[0]
configPath = os.path.join(proDir, "config.ini")
class ReadConfig:
def __init__(self,http):
self.cf = configparser.ConfigParser()
self.cf.read(configPath)
self.http = http
def get_base_url(self):
protocol = self.cf.get({}, "protocol").format(self.http)
ip = self.cf.get({}, , "jz_ip").format(self.http)
port = self.cf.get({}, "jz_port").format(self.http)
base_url = protocol + '://' + ip + ':' + port
return base_url
- config.ini、readConfig.py的层级关系:
-------------------------以下待更新---------------------------------------
**
版本
V2.0
V2.1
V2.2
V2.3
V2.4
V2.5
终端
web
h5