【HttpRunner学习笔记】4- HttpRunner 抽离 base_url

引言

在实际项目中,有测试环境、生成环境以及还有预发布环境,所以我们在设计业务场景的过程中,将网站的base_url或者是域名抽离出来,作为全局变量,又或者存放一个配置文件来管理也是必须要做的一项。这对后续切换环境的维护会节省一定的时间成本。不然的话,我们如果要切换环境的,要一个个替换url也是相当麻烦的工作。

1. 源码解析

在这里插入图片描述

在每一个测试用例的main中都调用了一个test_start()方法,我们可以暂时将这个方法看作是一个入口

然后我们 ctrl+ 鼠标单击 看到test_start()的源码:

在这里插入图片描述

如上图,我们可以看到测试用例的config是传入到run_testcase方法的TestCase模型中

而实际项目中,teststeps可能存在多个Step,接下来我们来看一下Step是如何被解析:

在这里插入图片描述

测试用例的step可以看做是一个请求,那么请求是如何被访问的呢?首先通过调用__run_step方法

__run_step再调用__run_step_request

在这里插入图片描述

接下来看到__run_step_request有一个属性url,它是使用了一个build_url来对url进行处理的,如下图:

在这里插入图片描述

build_url的源码如下:

在这里插入图片描述

2. py测试用例抽离url

首先我们需要在config属性调用Config类的base_url方法,传入要访问的base_url

比如:http://www.woshipm.com/api2/user/followings/status

这里的base_url指的是http://www.woshipm.com,也就是路径之前的域名,也可以是IP

然后将teststeps列表中Step.get()base_url给去掉,httprunner会自动拼接;

没有抽离base_url:

在这里插入图片描述

抽离后:

在这里插入图片描述

由此可以看到 .get()base_url也就是域名http://www.woshipm.com被提取到configbase_url

3. yml测试用例抽离url

直接将url项的域名提取到config子级的base_url即可;

剪切url的域名:

在这里插入图片描述

config添加一个base_url标签:

在这里插入图片描述

4. base_url抽离到.env文件中

HttpRunner创建项目时自动生成一个.env文件,我们可以将base_url放到.env文件中,如下:

base_url=http://www.woshipm.com

然后在测试用例woshipm_get_author_test.py文件中引用:

config = Config("testcase description").verify(False).base_url("${ENV(base_url)}")

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值