当前位置:网站首页>关于自动化适配的落地方案
关于自动化适配的落地方案
2022-07-22 18:08:00 【zsyzcsan】
随着测试技能的不断增长,许多测试人员都会写自动化测
试脚本;
自动化代码,无疑是可以满足接口和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
边栏推荐
- 数据可视化的工具
- Form validation and regular expression (2)
- Game pause
- 软件测试分类
- Do you want to have a robot that can make cartoon avatars in three steps?
- Watermelon book machine learning notes -- naive Bayes
- unity中3dUI或者模型始终面向摄像机,跟随摄像机视角旋转丨视角跟随丨固定视角
- Epressif play firmware download
- Principle and implementation of Ping
- How to use fmetp steam V2 (II)
猜你喜欢
随机推荐
使用清华镜像安装librosa
Unity3d uses vrtk to configure the scene environment
Debug No4 利用RenderDoc排查bug
浅摇自动化测试
VAO详解
[Err] 1064 - You have an error in your SQL syntax;
软件生命周期---W模型
Exchange variable values with and without pointers in C language
Greatest common divisor and least common multiple
Epressif play firmware download
Code random notes_ Linked list_ 24 exchange nodes in the linked list in pairs
数据可视化的工具
PHP one sentence Trojan horse - error prone syntax - Beginner's record
PHP一句话木马-易错的语法-初学记录
软件测试成长之路
课后练习03---126字母邮箱注册功能
DOM - node operation
A2-1 利用stb_image.h来进行图片的绘制与显示
软件生命周期模型-----V模型
Print all the words in the string array -- the story of pointer and string










