python 接口自动化测试框架-unittest和requests重构封装

一、unittest运行测试用例的几种方式
1、通过testcase.main()来执行测试用例:

import unittest
import requests
import json

class testcase(unittest.TestCase):

    def test_01(self):
        url = 'http://www.oktest.org.cn/siteApp/command/ecGzSubSearch?fid=t_xmosta&siteId=2808&search=1'
        data = {
            'searchKey': "测试",
            'x': '30',
            'y': '8'
        }
        headers = {
            'Content-Type': 'application/json'
        }
        res = requests.post(url=url, data=json.dumps(data), headers=headers)
        print(res)

if __name__ == '__main__':
    unittest.main()

2、通过testsuit来执行测试用例:

import unittest
import requests
import json

class testcase(unittest.TestCase):

    def test_01(self):
        url = 'http://www.oktest.org.cn/siteApp/command/ecGzSubSearch?fid=t_xmosta&siteId=2808&search=1'
        data = {
            'searchKey': "测试",
            'x': '30',
            'y': '8'
        }
        headers = {
            'Content-Type': 'application/json'
        }
        res = requests.post(url=url, data=json.dumps(data), headers=headers)
        print(res)

    def test_02(self):

        url = 'http://www.oktest.org.cn'
        res = requests.get(url=url,data=None,headers=None)
        print(res)

if __name__ == '__main__':
    # 构造测试集
    suite = unittest.TestSuite()
    suite.addTest(testcase("test_01"))
    suite.addTest(testcase("test_02"))
    # 执行用例
    runner = unittest.TextTestRunner()
    runner.run(suite)

3、通过testLoader的方式:

import unittest
import requests
import json

class testcase(unittest.TestCase):

    def test_01(self):
        url = 'http://www.oktest.org.cn/siteApp/command/ecGzSubSearch?fid=t_xmosta&siteId=2808&search=1'
        data = {
            'searchKey': "测试",
            'x': '30',
            'y': '8'
        }
        headers = {
            'Content-Type': 'application/json'
        }
        res = requests.post(url=url, data=json.dumps(data), headers=headers)
        print(res)

    def test_02(self):

        url = 'http://www.oktest.org.cn'
        res = requests.get(url=url,data=None,headers=None)
        print(res)

if __name__ == '__main__':
    # 此用法可以同时测试多个类
    suite1 = unittest.TestLoader().loadTestsFromTestCase("test_01")
    suite2 = unittest.TestLoader().loadTestsFromTestCase("test_02")
    suite = unittest.TestSuite([suite1,suite2])
    unittest.TextTestRunner(verbosity=2).run(suite)

二、requests重构封装

import unittest

from base.runmain import RunMain

class testcase(unittest.TestCase):

    def setUp(self):
        print("case执行前")

    def test_01(self):
        url = 'http://www.oktest.org.cn/siteApp/command/ecGzSubSearch?fid=t_xmosta&siteId=2808&search=1'
        data = {
            'searchKey': "测试",
            'x': '30',
            'y': '8'
        }
        headers = {
            'Content-Type': 'application/json'
        }
        run = RunMain()
        res = run.run_main(url=url,data=data,headers = headers,method='post')
        print(res)

    def test_02(self):

        url = 'http://www.oktest.org.cn'
        run = RunMain()
        res = run.run_main(url=url,data=None,headers=None,method='get')
        print(res)

    def tearDown(self):
        print("case执行后")

if __name__ == '__main__':
    unittest.main()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小志老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值