学习接口自动化后的总结(一)

一、1.首先学习接口自动化需要具备的知识:

  (1)python基础知识:

    掌握数据类型:字符串、列表、字典、数值及函数、类和面向对象编程的思想

  (2)学习requests库

  (3)读取测试用例需要用到Excel,所以还需要掌握python的openpyxl或者xlrd去封装获取数据的方法

  (4)unittest单元测试

  (5)loging日志模块的封装

  (6)jenkins做持续集成

  2.接口自动化框架的实现思路

   (1)首先我们需要封装一个requests的方法支持‘post’、‘get’请求方式(code):

    

   (2)有了请求接口的方法了之后需要写测试用例用到了unittest    class Test_Login(unittest.TestCase):

    # def __init__(self,methodName,url,method,expected,data=None):    #     super(Test_Login,self).__init__(methodName)    #     self.methodName = methodName    #     self.url = url    #     self.method = method    #     self.data = data    #     self.expected = expected

    def setUp(self) -> None:        print(‘>>>>>>>>>开始了‘)        self.re = HttpRequests()

    def tearDown(self) -> None:        print(‘>>>>>>>>>>>结束了‘)

    @data(*test_data)    def test_login_01(self,item):        ‘‘‘        账号密码正确登录        :return:        ‘‘‘        # res = self.re.run_method(self.url,self.method,self.data,getattr(Get_data,‘cookie‘))   # 第一种方法 通过初始化取值        res = self.re.run_method(item[‘url‘],item[‘request_method‘],eval(item[‘data‘]),getattr(Get_data,‘cookie‘))     # 第二种方法 通过ddt取值        # res = self.re.run_method(test_data[‘url‘],‘post‘,test_data[‘data‘],getattr(Get_data,‘cookie‘)) # 调试用的数据        if res.cookies:            setattr(Get_data,‘cookie‘,res.cookies)  # 反射        try:            # self.assertEqual(res[‘message‘],self.expected,‘测试未通过‘)            self.assertEqual(item[‘expected‘],res.json()[‘message‘],‘测试未通过‘)        except AttributeError as e:            print("出错啦: %s" % e)        如上代码采用了ddt读取测试数据的方式所以我们需要封装一个读取数据的类我们用openpyxl模块    unittest:          setUp(self)、tearDown(self):测试用例执行前后的初始化工作          self.assertEqual:用来断言预期结果与实际结果        3.封装读取测试数据的方法openpyxl    

    首先我们在Do_Excel里面初始化传参file_name(文件名), sheet_name(工作表名):

    接下来又分别封装了两个方法:get_header(self)、get_data(self)

    get_header()这个方法用来读取我们测试用例的标题行

    get_data(self)这个方法用于获取我们的所有行并根据行对应的列取值:i,j代表行、列    4.现在我们能够通过从Excel中获取数据了获取后的数据是:[{"key":"value"},{"key":"value"}]列表里面嵌套了字典      现在有两种方法进行数据的读取,第一种方法是:上面第二步的ddt方式读取测试数据      另外一种方法是:需要将unittest测试用例类Test_Login用超继承的方式super()来初始化并保留父类的方法
      class Test_Login(unittest.TestCase):    
        def __init__(self,methodName,url,method,expected,data=None):             super(Test_Login,self).__init__(methodName)              self.methodName = methodName              self.url = url              self.method = method              self.data = data              self.expected = expected    5.创建一个run.py运行所有测试用例:      # 导入测试用例类      from run_method.Test_login import Test_Login      # 导入Excel方法      from run_method.do_excel import Do_Excel
      # 导入单元测试unittest            import unittest 
      test_data = Do_Excel(‘python_data.xlsx‘,‘py‘).get_data() # 从Excel读取测试数据        suit = unittest.TestSuite()
      suit.addTest(Test_Login(‘test_login_01‘,item[‘url‘],item[‘request_method‘],item[‘expected‘],eval(item[‘data‘])))      suit.addTest(Test_Login(‘test_login_02‘))      run = unittest.TextTestRunner()      run.run(suit)     6.以上基本实现了用例从Excel中读取后来运行测试用例,接下来该实现用例报告的生成了这时候我们需要引入HTMLTestRunner这个文件:             修改上面的run.py文件:      
      test_data = Do_Excel(‘python_data.xlsx‘,‘py‘).get_data() # 从Excel读取测试数据        suit = unittest.TestSuite()
      suit.addTest(Test_Login(‘test_login_01‘,item[‘url‘],item[‘request_method‘],item[‘expected‘],eval(item[‘data‘])))      suit.addTest(Test_Login(‘test_login_02‘))
      with open(‘./report.html‘,‘wb‘) as f:          run = HTMLTestRunner(stream=f,                         title=‘login测试用例‘,                         description=‘登录测试报告‘,                         verbosity=2                         )          run.run(suit)      这样简单的一个接口自动化框架已实现后续还会遇到数据依赖的问题,刚刚学到这块等学完在做笔记

养成良好的笔记习惯有助于复习及加深熟练,测试路程任重而道远,盼君与我一路同行共同进步
      
 
 
 
 
    

  

原文地址:https://www.cnblogs.com/dumingxu/p/11468698.html

时间: 2024-10-14 00:43:12

学习接口自动化后的总结(一)的相关文章

接口自动化学习--mock

好久没有写学习的总结,都正月十二了,但还是要来个新年快乐鸭. 一直都在看imooc的一套java接口自动化实战课程,现在看到了尾部了,然后想到之前那些testng,mock,httpclient等都没有做小结,所以就还是怕会学了看过了,没有实战就忘记了... 简介  mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,这个虚拟的对象就是mock对象.mock对象就是真实对象在调试期间的代替品.mock用来模拟接口的,课程中学习mock用

接口自动化学习笔记

虫师的接口自动化学习笔记(虫师原创----http://fnng.cnblogs.com) web应用接口测试分为: 1.模块接口测试:主要测试模块之间的调用与返回 2.web接口: a.服务器接口:测试浏览器与服务器的接口 b.外部接口:指调用的接口由第三方系统提供 接口测试的意义: 1.保证系统的稳定性 2.将bug控制在项目前期 3.检查服务器的异常处理能力 我们通常把前端的验证称为弱验证,因为它很容易被绕过,这个时间如果只站在功能的层面时行测试,就很难发现一些安全的问题.不以前功能为入口

python接口自动化之openpyxl学习

python接口自动化之openpyxl学习 由于接口自动化测试需要用到python的第三方库--openpyxl库,运用openpyxl库可以进行exl的读和写,再结合unittest测试框架,就能进行接口自动化测试. 一:openpyxl库的安装:pip install openpyxl   二:查看openpyxl库的属性 import openpyxldir1= dir(openpyxl)print(dir1) ['DEFUSEDXML', 'LXML', 'NUMPY', 'PANDA

Python+excel实现的简单接口自动化 V0.1

好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态”列: 执行通过的话,如果返回的json有message写入“response”列,如果执行失败,则会将返回的json也写入其中 前期准备: 在excel中依次填上接口.请求类型.需要传的数据.期望返回的状态码以及该接口的说明 代码如下,写的很简陋,甚至都没定义方法什么的,姑且称之为V0.1   后面

关于接口自动化的那些事 - 基于 Python

网络请求模拟小技巧 在学习了一段时间的Python语言后,咱也大概对Python的语法和逻辑有了一定的积累,接下来,可以为接口自动化测试开始尝试做一些比较简单的准备工作啦~跟着我一起来来来~ 扩展库requests 一般来说接口测试都是基于HTTP和HTTPS的网络请求,Python中有很多自带原生库和扩展库均可以实现.Python模拟HTTP请求有两种方式,一种是使用httplib模块,一种是使用requests模块,我个人比较倾向于使用requests库,该库把请求的框架都搭建好了,使用简洁

接口自动化:HttpClient + TestNG + Java(一) - 接口测试概述+自动化环境搭建

1.1 接口测试简介 1.1.1 什么是接口测试 开始学习接口自动化测试之前,我们先要来了解什么是接口,以及什么是接口测试. 我们都知道,测试从级别上划分可以分为 组件测试 集成测试 系统测试 验收测试 其中在集成测试这个阶段,一个最主要的测试活动就是接口测试.在组件测试中,我们对单个组件自身的功能性能等指标进行验证,上升到集成测试级别,我们则进一步去验证组件之间的交互和集成.而组件之间的交互,就是通过'接口'来达成的.所以一定程度上,集成测试和接口测试概念是大幅度重叠的.(就组件集成/接口测试

python3+request接口自动化框架

首次书写博客,记录下写的自动化接口框架,框架比较简单,哈哈哈,算是记录下历程把!~~~ 一.本次框架由python3.6 书写 1.准备代码环境,下载python3.6    下载地址:https://www.python.org/downloads 2.下载pycharm 软件. 二.开始创建python接口自动化框架: 1.这是我创建的框架中的各个文件夹,分别有config  配置文件夹.fengzhuang   将接口用get post  两种传输方式进行封装并自动来区分执行. 2.log

《jmeter接口自动化与性能实战-飞天小子.pdf》

Jmeter作为开源测试工具,以其轻便,功能齐全的优点,正越来越受到企业的重视.作为纯java的工具,它的扩展性无比强大,既可以做功能测试,也可以做性能测试:既支持接口层面的测试,也支持webdriver驱动浏览器做ui测试.它支持各种协议,各种数据库,甚至于大数据,MQ这些前沿技术也被加入了进来.正因为版本迭代越来越快,功能越来越复杂,所以在实际操作过程中我们会遇到很多困难.而网上的一些教程由于版本过于陈旧,已经不能满足于我们的需求.我在工作之余,耗费了大量个人的时间潜心编写和整理了这套jme

2020年第二期《python接口自动化+测试开发》课程,预售!

2020年第二期<python接口自动化+python测试开发>课程,12月15号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:12月15号-3月29号,每周六.周日晚上20:30-22:30 报名费:报名费3000一人(周期3个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.fiddler抓包与接口测试(测试基础必备) 2.python+pytest框架实现接口自动化测试(pytest框架甩unittest几条街) 3.httpr