• python3 + pycharm+requests+HTMLTestRunner接口自动化测试步骤


    1.python3 环境的搭建,pycharm安装

    2.想要用requests做自动化接口测试,那么就得先安装requests这个第三方库,在命令窗口执行 pip install requests

    3.下载HTMLTestRunner.py文件,这个文件很多是兼容python2.X版本的,所以如果是用pytho3.X的同学,记得百度一下,然后再修改,然后把文件拷贝到python3安装路径的Lib文件夹下。如果是python3的同学可以到这里下载:http://pan.baidu.com/s/1jIN28zO

    4.接下来就是实战了,简单的登录接口测试

    import unittest
    import requests
    import time
    import os
    import HTMLTestRunner


    class MyTest_Case(unittest.TestCase):
    def setUp(self):
    pass

    def tearDown(self):
    pass

    def testlogin(self):
    url = 'http://120.76.247.73:11013/login'#url地址
    headers = {'Content-Type': 'application/json'}#请求头
    json = {'source': 'wms', 'mobile': '13600000000', 'password': '1234567'}#body,这里的格式是josn格式
    r = requests.post(url=url, json=json, headers=headers)#发送请求,这里需要注意一点,我看网上很多案例都是date="",但是当我用date=的时候就不行了,不知道为啥,一定要用josn才可以。
    self.assertEqual(200,r.status_code,'登录失败')

    def testsearch(self):
    url = 'http://120.76.247.73:11013/api.do' # url:接口地址
    data = {
    "name": "wmsCustomerController.customerFind",
    "args": [{"first": 0, "rows": 10},
    {
    "serachValue": "啥子"
    }]
    } # data:接口传递的参数

    headers = {'Content-Type': 'application/json',
    'Authorization': 'Bearer eyJraWQiOiI3ZGRiNjAzYS04OGViLTRhNjYtOGU2Yi04ZTgzMWFiN2NhZTUiLC'
    'JhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpc3N1ZXIiLCJhdWQiOiJhdWRpZW5jZSIsImV4cCI6'
    'MTUwNjMyODgzMywianRpIjoiQW5jdzAyU2hpUWxOOEZZU05ET0pNdyIsImlhdCI6MTUwNTE'
    'xOTIzMywibmJmIjoxNTA1MTE5MTEzLCJzdWIiOiIxMzYwMDAwMDAwMCIsImF0dHJpYnV0ZX'
    'MiOiJ7XCJtb2JpbGVcIjpcIjEzNjAwMDAwMDAwXCIsXCIkZXhwaXJhdGlvbi10aW1lXCI6M'
    'TUwNjMyODgzMzI4MyxcInVzZXJOYW1lXCI6XCJhZG1pblwiLFwiY3VzdG9tZXJcIjpmYWxz'
    'ZX0ifQ.O2YuErC2DgDoNwuzk2hcih5-7Hyfwumzm5BmJDg9eWE4fW577sXfhmBUZINxGzSC'
    '6L-5P9Cdz2HY_lxbZGOu0Kkfh8cFOzfrGgLVd0jYTKGdLFnqGJMnfoN6ltXfQjpkHpoPbiG'
    '34WkmpfviEpa-mpvdqJXWxkzsG-c934xiV9TZJoMNVeq3qv0fN7gq1HuuTrvzvFYth6NDqD'
    'KHF0H_9lAdVrX-mYgQPU1dK1luZyCt_HGqCQg6GZbSBcFBRbEmhohE_mnchgF_14ZZF45XU'
    '-DJsc_LSW0vP66gNxILQ_CClgqqlN4mHeieq3m4BMS_4huScRQcdKn7CgM4mYYGTA'}
    # header:传递header信息
    # files:接口中需要上传文件则需要用到该参数
    r = requests.post(url, json=data, headers=headers) # 请求url,获得返回的数据信息
    self.assertEqual(200,r.status_code,'查询失败')#这里需要注意一下,状态码是纯数字,不是字符串类型,所以在断言的时候不要写成'200',要不会一直是失败。


    if __name__ == "__main__":
    report_title = u'WMS接口报告'

    # 定义脚本内容,加u为了防止中文乱码
    desc = u'WMS接口报告测试报告详情:'

    # 定义date为日期,time为时间
    date = time.strftime("%Y%m%d")
    time = time.strftime("%Y%m%d%H%M%S")

    # 定义path为文件路径,目录级别,可根据实际情况自定义修改
    # path = 'F:/Python_test/' + date + "/login/" + time + "/"

    # 定义报告文件路径和名字,路径为前面定义的path,名字为report(可自定义),格式为.html
    # report_path = path + "report.html"

    # 判断是否定义的路径目录存在,不能存在则创建
    # if not os.path.exists(path):
    # os.makedirs(path)
    # else:
    # pass

    # 定义一个测试容器
    testsuite = unittest.TestSuite()

    # 将测试用例添加到容器
    testsuite.addTest(MyTest_Case("testlogin"))
    testsuite.addTest(MyTest_Case("testsearch"))
    # 将运行结果保存到report,名字为定义的路径和文件名,运行脚本
    # with open(report_path, 'w+') as report:
    # runner = HTMLTestRunner(stream=report, title=report_title, description=desc)
    # runner.run(testsuite)
    # 定义一个测试容器
    # testsuite = unittest.TestSuite()
    # filename = 'F:\temp.html'
    with open('F:\temp.html', 'wb') as fp:
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=report_title, description=desc)
    runner.run(testsuite)

    # 关闭report,脚本结束
    # fp.close()
  • 相关阅读:
    JavaScript数组迭代方法
    Ant Design Mobile RN中Toast不起作用的原因【坑篇】
    解决vsCode终端不能运行yarn脚本
    k8s——Service和Ingress
    Prometheus学习
    k8s——pod控制器
    k8s——管理pod资源对象
    k8s——资源管理基础
    docker学习
    k8s学习——Helm入门及使用
  • 原文地址:https://www.cnblogs.com/lystbc/p/7507545.html
Copyright © 2020-2023  润新知