接口自动化测试(3)-数据准备

第二篇提到了接口自动化大概意思:从excel自动读参数和预期结果,做接口测试并断言,生成excel测试报告。这篇写一下excel里面怎么写,并且用代码找到文件,怎么读内容。具体读出来怎么用放下一篇继续写。

先看excel里面,接口我用的还是京东万象的接口,一个免费的天气预报查询。

这个excel名称是TestData.xls。

第一个标签那个初始化数据没什么用,如果有公用的东西也可以写那里,像url什么的。第二个标签天气预报接口这里,前两行也是根据自己心情写,可以没有。最重要的是这几个城市名称。返回状态,期望这都是预期结果,根据自己实际情况写。可以只写一个预期结果,也可以写多个,在后面接口测试时候读取会有点区别。

再看一下excel放的位置:

getpath.py代码就是找TestData.xls路径的代码,也包括生成的测试报告放的位置,下面testreport里面放的就是测试报告。数据和报告不在同一个文件夹,这俩读的时候稍微有一点别。

下面看一下读的代码:

import os
import time
def GetTestDataPath():
    ospath=os.path.dirname(os.path.abspath(__file__))
    return os.path.join(ospath,"TestData.xls")
def GetTestReport():
    now=time.strftime("%Y-%m-%d-%H-%M-%S-",time.localtime(time.time()))
    ospath=os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    return os.path.join(ospath,"day6\\testreport",now+"TestReport.xlsx")

读文件都需要os这个包,第一个是读数据的,第二个是测试报告的路径,测试报告记录了这个测试报告是什么时候生成的,这样每次生成的报告命名都不一样,防止把旧的测试报告清除。

os.path.dirname(os.path.abspath(__file__))这段意思就是获取当前文件夹的路径,如果重复写了两遍,就是获取当前文件夹的上一层路径;写三遍就是获取上两层的路径,依此类推。代码和数据在同一个文件夹和不同文件夹区别就像下面,在文件名前面加上路径。方便演示效果,代码指的路径已经跳到day6外面去了。

getpath.py这里写这些代码就可以了,下面看一下读数据的效果。

import xlrd
testdata=xlrd.open_workbook(GetTestDataPath())
table=testdata.sheets()[1]
city1=table.cell(2,0).value
city2=table.cell(3,0).value
status=int(table.cell(2,1).value)
print (city1)
print (city2)
print (status)

想读excel需要xlrd包,这段代码放在getpath.py就可以看到效果,第三行是读取第二个标签页,就是天气预报接口那页。第4、5、6行分别取两个城市和北京后面的那个返回状态。

测试完把下面代码注释掉,不需要这部分。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值