vc6 往mdb写入信息_Python自动化测试之测试数据写入csv文件

前言:

在自动化测试中,测试数据处理是绕不过去的一道坎。一个完整的自动化测试,必须要能自动生成测试报告。在接口自动化测试中,因为接口有多项重要数据,包括响应状态码,响应数据,请求url,请求的数据,测试时间等,所以这些数据需要存到csv文件中。把数据写入csv文件只是自动化测试的其中一步,后续还需要从csv文件中读取数据,然后分析测试数据,最后再转换成excel文件输出测试报告。至于为何使用csv而不直接使用excel文件,主要原因是由于csv文件易于读写,而且不用考虑各种excel软件版本的问题,csv文件在不同的编程语言中也易于操作。

目标:

实现请求一个接口,然后把响应的数据写入到csv文件中。需要保存的参数有:接口名称,测试时间,接口响应状态码,接口响应时间,发送的数据,响应的数据,服务器域名或ip等。

需要使用的库:

1、HTTP请求库:Requests

2、Python数据处理库:pandas。(这里只使用pandas的数据写入功能)

注:pandas库在后续会和Requests配合使用。pandas主要用于数据筛选,导入,读取excel和csv文件。更多关于pandas的教程请自行百度。

安装pandas:

pip install pandas

Pandas简单使用:

import pandas

def ToCsv():
    #data为需要写入的数据,使用字典格式,key为列名,values为每一行的内容
    data={
        "name":"chen", #string直接写入即可
        "age":[123],#int类型需要使用[]括起来
        "sex":"男"
    }

    # 写入csv
    #转换为dataframe格式
    dataCSV = pandas.DataFrame(data)
    dataCSV.to_csv("chen.csv", index=False, mode="a", header=False, encoding="GBK")
ToCsv()

把以上代码直接复制到pycharm运行即可以生成相应的csv文件。

dataCSV.to_csv几个参数说明:

 chen.csv:生成的文件名,如果不存在会自动创建,注意要以.csv作为后缀,这里为当前目录下。
 index=False:不写入索引名,按这里设置即可。
 mode="a",追加模式,如果不使用这个模式,会把前面的内容覆盖。
 header=False:不写入头部信息,即字典中的key值不写入。
 encoding="GBK":编码格式为GBK,即中文编码,默认为utf-8,如果数据有中文时则可能会报错。

运行结果:

vc6 往mdb写入信息_Python自动化测试之测试数据写入csv文件_第1张图片

注:如果不明白pandas的话,直接按以上示例设置即可。

#######################################################

实战:

上面已经尝试了如何简单快捷的往csv文件中写入数据,接下来就是结合我们要测试的接口,将测试数据写入到csv中。

代码:

import requests
import pandas
import time

#http请求demol
def GetTest():

    #接口请求
    url="https://openapi.dvr163.com/message/nonce" #url
    Param={ # 传递的参数,字典类型,所有参数写在这里即可
        "method":"get"
    }
    Rque=requests.get(url,Param) # 发起Get请求

    #测试数据
    data={
        "Interface":"获取服务器验证码", #接口名称
        "time":time.strftime('%Y-%m-%d_%H:%M:%S', time.localtime(time.time())), #测试时间,这里使用格式化时间,
        "StatusCode":[Rque.status_code] ,#接口响应状态码
        "Responseime":[Rque.elapsed.total_seconds()],#接口响应时间
        "Response DATA": Rque.text, #响应的数据,这里建议使用text,因为不是每个接口都返回json格式
        "Request body": Rque.request.body,  # 发送的数据,get请求的数据会在url中
        "Url": Rque.url,  # 请求的url
        #更多参数请自行添加
     }

    #写入csv中,以下两行代码建议封装成函数
    dataCSV = pandas.DataFrame(data)
    dataCSV.to_csv("chen.csv", index=False, mode="a", header=False, encoding="GBK")
GetTest()

运行结果:

vc6 往mdb写入信息_Python自动化测试之测试数据写入csv文件_第2张图片

后语:

在接口自动化测试中,数据写入csv只是其中一步,接下来还需要对数据进行分析,比如标记出状态码不正常的有哪些,响就时间过长的有哪些。还有就是,如果接口报错,或者网络响应时间过长该如何处理。这些也需要在后续处理中增加。建议先熟悉一下pandas框架再深入后续的学习。

你可能感兴趣的:(vc6,往mdb写入信息)