python培训 | Python接口自动化测试框架思想以及源码结构

前期了解

在这里插入图片描述
2. 单个接口例子

#-*-coding=utf-8-*-
#author:shichao

import requests
import json

def get_token():
    url1 = "https://cart.taobao.com/trail_mini_cart.htm"
    content = {'callback':'MiniCart.setData','t':'1526048972328'}
    web = requests.get(url=url1,params=content)
    print(web.url)
    print(web.text)
    ty = web.text
    return ty

if __name__ == '__main__':
    get_token()

3. 封装接口类源码以及报告输出实例

1、一个接口地址一个类,每一个方法是一条testcase

2、setUp()、tearDown()方法会分别作用于每个测试用例的开始和结束,如果每个类中的setUp()、tearDown(),所做的事情一样,那么可以封装一个自己的测试类

#-*-coding=utf-8-*-
#author:shichao
import requests
import unittest
import json

class MyTest(unittest.TestCase):     #封装测试环境的初始化和还原的类
    def setUp(self):                 #放对数据可操作的代码,如对mysql、momgodb的初始化等,这里不对数据库进行操作!
        print("start test")          #打印出start test
        pass
    def tearDown(self):              #与setUp()相对
        print("end test")            #打印出end test
        pass
class test_xxx_get(MyTest):          #把这个接口封装一个类,下面的方法是具体的测试用例
    '''接口信息例如**功能'''          #这个描述接口名称,""" 文字 可打印在输出台
    def test_***_get(self):
        '''testcase001:***'''         #这个描述接口用例名称
        self.url = "http://***.***.***/api/xxx/get"  #请求url
        self.headers = {"Content-Type":"application/json"} #请求头
        self.data = {                            #请求参数写入data
            "token": "abcdefg",
            "id": 1,
            "param": {
                "QuId": 14 
            }
        }    #self.用在方法属性中,表示是该方法的属性,不会影响其他方法的属性。
        r = requests.post(url = self.url,json = self.data,headers = self.headers)
        #return r.json()
        print (self.r.text)
        print (self.r.status_code)
        self.assertIn("true",self.r.text)     #断言判断接口返回是否符合要求,可以写多个断言!

if __name__=="__main__":
    unittest.main()
    suiteTest = unittest.TestSuite()
    suiteTest.addTest(MyTest("test_xxx_get"))   
    # suiteTest.addTest(MyTest("test_xxx_get_002"))

# 按照一定时间格式获取当前时间(防止测试报告覆盖)
now = time.strftime(u'%Y-%m-%d-%H-%M-%S')
# 确定生成报告的路径
report_file = "自定义本地存储路径" + now + "_test_report.html"
with open(report_file, 'wb') as report:
    runner = HTMLTestRunner.HTMLTestRunner(stream=report, title=u'title',
                                           description=u'描述',
                                           tester=u'测试人员')
    # runner = unittest.TextTestRunner()
    runner.run(suiteTest)
    report.close()

unittest提供了全局的main()方法,使用它可以方便的将一个单元测试木块变成可以直接运行的测试脚本;

main()方法使用TestLoader类来搜索所有包含在该木块中以“test”命名开头的测试方法,并自动执行它

4、 py3HTML测试报告源代码以及历史文章

# 基于py3HTMLTestRunner测试报

        告修改样式的源码下载地址:



        链接:https://pan.baidu.com/s/

    1HDc3jXtMVJEmFvSypalNoQ

        提取码:x6o1



        # 往期文章



        python接口自动化测试-unittest-批量用

        例管理



        基于py3-HTMLTestRunner源代码修改

        以及pycharm报告输出小工具



        selenium自动化测试时,chrome 出现“

        Chrome 正受到自动测试软件的控制”的

        解决办法

个人在学习python这块,自学断断续续几个月,就下面这些东西,学的跟个狗似的,啥也不是,几天不操练什么都忘记,学习方法这块欠缺拿项目实战,以及师傅指点,

在这里插入图片描述
上次是哪个颇有影响力的人某博发个动态,说学习python很简单,朋友圈被圈友霸屏了,这个社会真的是很跟风!哦哦!潘总!我是不是应该给他教点学费!来敬畏我内心的热血彭拜。

学到现在个人表示,基础不牢固的还是一行一行代码从基础开始打起,可以先放弃一些百度copy的源码实例操练,没有多大意义。因为你有时候你真的不明白别人的一个""或者是一个方法代表什么意思 [ 深受其害的苦笑!]这句话敬前人造车子的码农。
在这里插入图片描述

上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。

在这里插入图片描述

更多好文章分享:

原来功能测试转成自动化测试这么简单?

见识了解python自动化测试(3)

测试大神的工作经验总结

Python究竟有多简单?

赶快进来学习了解与交流吧,我是一包伤心的辣条,关注小编,我带你玩转职场。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
、 开发环境................................................................................................................................................................... 1 2、 大致流程................................................................................................................................................................... 2 3、 框架简介................................................................................................................................................................... 2 4、 运行结果展示 ........................................................................................................................................................... 3 5、 文件与配置............................................................................................................................................................... 3 6、 测试接口样例 ........................................................................................................................................................... 4  1.登陆接口................................................................................................................................................................... 4  2.支付密码更改接口 ................................................................................................................................................... 6 7、 数据库设计............................................................................................................................................................... 7 8、 测试用例、测试数据准备 ....................................................................................................................................... 8 9、 模块与类、函数设计 ............................................................................................................................................. 10 10、 代码实现............................................................................................................................................................. 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值