精华内容
下载资源
问答
  • postman接口自动化脚本编写实例 postman我想大家都很熟悉,有些小伙伴说请求不通,我想可能是设置里面ssl certificate verification的问题 1.下面可以看我们的实例了 我们先请求一个login的登录接口,用户名...

    postman接口自动化脚本编写实例

    postman我想大家都很熟悉,有些小伙伴说请求不通,我想可能是设置里面ssl certificate verification的问题

    1.下面可以看我们的实例了

    我们先请求一个login的登录接口,用户名密码获得一个accesstoken,然后我们拿出这个token;再来请求其他的接口;那么我们在处理这个accesstoken的时候,我们看填参数那一栏有一个Tests

    2.然后我们在Tests里面写脚本,实现accesstoken参数化;

    //对数据主体进行实例化
    var jsonData = JSON.parse(responseBody);
    //根据返回的Code断言
    tests["Status code is 200"] = responseCode.code === 200;
    //业务状态码进行断言
    tests["状态码code = 0"]=jsonData.code===0
    //body判断是否包含accessToken,并设置为全局变量
    if (jsonData.data.accessToken) {
    tests["Body has accessToken"] = true;
    postman.setEnvironmentVariable("accessToken", jsonData.data.accessToken);
    }
    else {
    tests["Body has accessToken"] = false;
    }

    3.后面别的接口调用 

     

    我们就可以用这个accessToken这个参数;

    但是,要在Tests里面添加如下脚本:

    //对数据主体进行实例化
    var jsonData = JSON.parse(responseBody);
    //根据返回的Code断言
    tests["Status code is 200"] = responseCode.code === 200;
    //业务状态码进行断言
    tests["状态码code = 0"]=jsonData.code===0

    其他的请求一样的方式; 

    4.关于如何批量执行

    如下图的入口:

    点击查看报告:

    点击查看单个请求详情,测试结果可以导出:

    5.关于postman环境变量在哪里设置

    展开全文
  • 查看我的另一博文:【Python】接口自动化测试:HttpRunner 自动化框架 —— 录制接口用例脚本 二、HttpRunner 测试用例的基本结构 (1)每个 YAML/JSON 文件对应一个测试用例(testcase)【1 个用例可以包含多个...

    目录

    一、用例脚本录制参考

    二、HttpRunner 测试用例的基本结构



    一、用例脚本录制参考

    查看我的另一博文:【Python】接口自动化测试:HttpRunner 自动化框架 —— 录制接口用例脚本



    二、HttpRunner 测试用例的基本结构

    (1)每个 YAML/JSON 文件对应一个测

    展开全文
  • jmeter 接口自动化脚本,案例。获取天气,读取Excel数据并动态设置为变量。
  • 1、通用的自动化脚本规范; 2、针对RF工具的脚本规范; 3、项目组例行规范
  • python 基于unittest写接口自动化脚本一、项目介绍1. 用例写法2. 执行结果3. 项目目录二、核心代码1. request_api.py2. tool.py3. 某个接口的request文件3. 某个接口的testcase文件三、报告1. Web报告四、后言1. ...

    一、项目介绍

    unittest用例管理、提供执行器、扩展可能性。
    其实不用unittest思路也是一样的。

    1. 测试用例与执行结果

    1. 遵循unittest格式
    2. 定义一个合法参数集,用例种去deepcopy这个值进行修改
    3. 编写Tool类来实现参数化。

    在这里插入图片描述

    2. 项目目录

    common
      --api #接口封装类
      --request_api 请求类封装
      --response 响应类封装
      --db #mysql redis等操作方法
      --log #日志
      --opt #定制化操作,登录等操作
      --tool #生成随机数据、假数据、查验证码、修改数据等操作
      
    config
    	--domain #存放请求域名
    	--setting #存放各项配置
    	
    request
        --... #按项目分类存放各种接口的信息
    
    testcase
        --... #按项目分类存放各种测试数据
    
    

    二、核心代码

    1. request_api.py

    定义一个api类,存放请求响应断言等等信息,使用request库进行请求
    在这里插入图片描述

    2. tool.py

    参数化来源,数据不想写死,就调用这里的方法来生成
    在这里插入图片描述

    3. 某个接口的request文件

    在这里插入图片描述

    4. 某个接口的testcase文件

    在这里插入图片描述

    三、报告

    1. Web报告

    目前还没实现,只是用日志方式存下了请求会话。
    报告的话,设想的还是和之前的文章一样,用markdown + mkdocs实现在这里插入图片描述

    四、后言

    1. 生产力还是花瓶?

    之所以一开始没写报告是因为时间很紧,而我发现我也不需要去看报告。编写完就执行,bugfix后就回归,都是能实时看到结果的。不得不说这个系统帮了我大忙,上线后需求又改了。仅改了下断言花了十分钟就全面回归了这个版本的测试用例。

    2. 扩展

    目前还没有报告模块、邮件通知模块。因为当时时间很紧,新公司现有框架不满足老业务的数据生成,就用python来实现了。

    3. 感悟

    有公司规划的接口测试1.0 2.0 3.0来实现接口测试的普及,加上Web页面,加上各种组件来维护用例。包括我前面写的读ini来执行用例,我觉得还是性价比太低。

    我认为更好的UI界面,重复的造轮子并不能解决现在测试现有的痛点。我原来是喜欢用JMeter实现接口测试的,而现在的接口原来越复杂,请求与响应的json格式多达三四层。JMeter就不太适用了。写用例所用到的代码能力其实并不高。写用例最重要的不是工具,还是编写者的思路。

    而专门组建团队花时间来写用于回归的测试用例,在我看来性价比也不高。跟随项目版本,每个测试都参与编写接口测试用例才是最有效率、有效果的方式。

    展开全文
  • python 接口自动化测试python 接口自动化测试python 接口自动化测试python 接口自动化测试python 接口自动化测试python 接口自动化测试python 接口自动化测试python 接口自动化测试python 接口自动化测试python 接口...
  • 五、Python编写接口自动化

    万次阅读 多人点赞 2018-06-08 19:17:02
    (2)、引用py脚本 (3)、robot使用 (4)输出结果 5. 参见问题: (1)、python接口能返回结果,但在获取结果里的data值却报错了(string indices must be integers) 原因是接口返回结果没有转换转成obj  原...

    1.     总结结果

    2.     详细代码:

    # -*- coding: utf-8 -*-
    import requests
    import json
    
    class web_requests(object):
        def __init__(self):
            pass
    
        def Interface(self,Interface_path,**My_data):
             url = "http://testdj.XXXXXX.com:8378/%s" %(Interface_path) # 测试的接口url
             headers = {"Host": "testdj.XXXXXX.com:8378",
                        "Accept": "application/json, text/plain, */*",
                        "Referer": "http://testdj.XXXXXX.com:8280/",
                        "Accept-Language": "zh-CN,zh;q=0.8",
                        "Origin": "http://testdj.XXXXXX.com:8280",
                        "Accept-Encoding": "gzip, deflate",
                        "Accept": "application/json, text/plain, */*",
                        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36"} #消息头
             #data1 = {"beginDate": "2018-01-01", "endDate": "2018-04-01"}  # 接口传送的参数
             data = My_data  # 接口传送的参数
             r = requests.get(url=url, json=data, headers=headers)  # 发送请求
             # return r.json
             print (r.text)  # 获取响应报文
             print (r.status_code)
    
    a = web_requests()
    a.Interface('monitor/sxsb-sxzl',beginDate="2018-01-01", endDate="2018-04-01")

     

    3.     代码说明:

    1、接口的URL:

    url = "http://testdj.XXXXXX.com:8378/%s"%(Interface_path)

     

     

    2、请求消息头:

    headers = {"Host": "testdj.XXXXXX.com:8378",
              
    "Accept": "application/json,text/plain, */*",
               
    "Referer": "http://testdj.XXXXXX.com:8280/",
              
    "Accept-Language": "zh-CN,zh;q=0.8",
              
    "Origin": "http://testdj.XXXXXX.com:8280",
              
    "Accept-Encoding": "gzip,deflate",
              
    "Accept": "application/json,text/plain, */*",
              
    "User-Agent": "Mozilla/5.0(Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/61.0.3163.79 Safari/537.36"} #消息头

     

    3、接口的传参数:

    data = My_data  #接口传送的参数

    注:

    python传参数的格式原本如下:

    data ={"beginDate": "2018-01-01", "endDate":"2018-04-01"}  # 接口传送的参数

    但为了方便给外部引用进来,做了如下特殊处理:

    这里存在多个参数

    a.Interface('monitor/sxsb-sxzl',beginDate="2018-01-01",endDate="2018-04-01")

    python将多个参数合并,重点是“**”

    def Interface(self,Interface_path,**My_data):

    调用时可以直接写:

    data = My_data  #接口传送的参数

    相当于:data = {'beginDate':'2018-01-01', 'endDate': '2018-04-01'}

     

    4、给服务器发起请求:

    r = requests.get(url=url, json=data, headers=headers) # 发送请求

     

    5、服务器返回结果:

    print (r.text) # 获取响应报文

     

    4.     Robot引用:

    (1)、py代码

    Py文件名:Web_Interface.py

    代码如下:

    # -*- coding: utf-8 -*-

    import requests

    import json

     

    class Web_Interface(object):

       def __init__(self):

           pass

     

       def web_interface(self,Interface_path,**My_data):

           url = "http://testdj.XXXXXX.com:8378%s" %(Interface_path)# 测试的接口url

           headers = {"Host": "testdj.XXXXXX.com:8378",

                        "Accept":"application/json, text/plain, */*",

                        "Referer":"http://testdj.XXXXXX.com:8280/",

                       "Accept-Language": "zh-CN,zh;q=0.8",

                        "Origin":"http://testdj.XXXXXX.com:8280",

                       "Accept-Encoding": "gzip, deflate",

                        "Accept":"application/json, text/plain, */*",

                        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, likeGecko) Chrome/61.0.3163.79 Safari/537.36"} #消息头

           #data1 = {"beginDate": "2018-01-01","endDate": "2018-04-01"} # 接口传送的参数

           data = My_data  # 接口传送的参数

           r = requests.get(url=url, json=data, headers=headers)  # 发送请求

           #print (r.text)  # 获取响应报文

           #print (r.status_code) # 获取结果码

           return json.loads(r.text)

     

    (2)、引用py脚本

    (3)、robot使用

    (4)输出结果

    5.     参见问题:

    (1)、python接口能返回结果,但在获取结果里的data值却报错了(string indices must be integers)

    原因是接口返回结果没有转换转成obj

      原代码:

         return r.text

      用json.loads 修复如下:

          return json.loads(r.text)
    展开全文
  • 我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 + Python3.7 + appium1.18.0 + Android手机 + 今日头条app + Pycharm 一,连接测试...
  • 之前写过一篇关于 JMeter 手工测试的文章(https://www.jianshu.com/p/b5d2fd5e2b9d),今天我们在...实现接口自动化时,只需要把这两项具体内容修改成参数化用变量代替,然后在跑脚本时把具体的值传进去使用即可...
  • Python和RF编写接口自动化

    千次阅读 2018-07-14 15:13:13
    这个是想分享一下使用RF框架和Pyhont源码写同一个接口测试的案例,来解析一下各自的优缺点:Python2.7.x:通过python的request和json库能很快的对一个接口进行效验,有以下几个步骤:导入python库文件定义这个接口所...
  • 简单的python http接口自动化脚本

    千次阅读 2018-05-31 17:53:48
    今天给大家分享一个简单的python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值是否和返回报文中的值一致,如果不...
  • 使用pycharm编写自动化脚本

    千次阅读 2019-03-11 16:33:00
    1.:导入本地Python环境 2:安装Selenium 3:下来需要根据安装的浏览器版本,下载合适的chromedriver驱动程序。 4:接着需要将下载的chromedriver进行解压,并将文件复制或移动到,浏览器快捷方式所在目录。...
  • 编写脚本前分析项目架构 需求:python脚本实现【添加发布会信息】的接口测试,以邮件形式发送测试报告 1.新建一个case目录,存放测试用例 2.新建一个config目录,存放配置信息和读取配置信息 3.新建一个db_...
  • 也许你对自动化测试脚本感兴趣,因为有人告诉你需要编写脚本,或者你只是想了解自动化的意义。无论哪种方式,让我们了解看看什么是自动化测试脚本,为什么要使用它们,以及创建它们的一些最佳实践。 什么是自动化...
  • jmeter自动化脚本编写

    万次阅读 2018-11-06 14:33:55
    1.录制脚本   2.用户自定义变量添加变量 http代理服务器过滤规则设定 例如:ip 地址过滤,我们想访问的网址为www.test.com,在包含模式里面 添加 .+(test\.com).+ 即可。 例如...
  • 1 转换测试数据1.1将用例数据...用例描述:描述这条用例的设计的意义提交数据:记录由测试数据转换成的json字符串,结果返回:记录的接口提交测试数据后所返回的结果预期结果:用例的预期,是通过还是不通过实例...
  • Python实现接口自动化

    2019-07-22 09:35:26
    测试这边开始编写接口自动化脚本,由于第一次编写,没有任何经验。好在遇到大佬,帮忙了一波。甚是感谢。 不多BB了,直接进入正题,这次的接口是一个查询接口,接口参数多的一批,还有一些校验规则,对于我来说难的...
  • 这里介绍一种方式,实现了读取excel接口文档,生成通用的接口自动化测试用例脚本 utils.py源代码: import xlrd def parse_intf(file,sheet_index): with xlrd.open_workbook(file) as f: table = f.sheet_by_...
  • Jmeter+ant+Jenkins 接口自动化框架完整版

    万次阅读 多人点赞 2018-08-22 15:41:35
     上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接口自动化测试单有脚本是不够的,我们还需要批量跑指定接口,生成接口运行报告,定位报错接口,接口定时任务,...
  • 一、背景 我们知道怎么利用Jmeter去编写接口自动化脚本,但是接口自动化测试单有脚本是不够的,我们还需要从git上拉取脚本,批量跑指定接口,生成接口运行报告,定位报错接口,接口定时任务,邮件通知等功能。...
  • Python 编写自动化工具

    万次阅读 多人点赞 2017-08-29 00:41:44
    但是假如我们要做跨平台的开发,根据每个平台去开发一套功能相同的自动化脚本显然不是最好的选择,选择跨平台通用的脚本是更好的选择,Python 就是常用来编写自动化工具的跨平台脚本语言。Python 环境安装:1.资源...
  • 使用Java编写第一个接口自动化程序

    千次阅读 2019-05-09 17:00:40
    最近很久没更新了,一直在看接口方面的东西,所以现在开始,准备更新了。 从本质来说,我们通常使用的接口测试工具postman,fiddler或者一些其他的在线接口测试,等等都是由java写的,所以我们当然也可以用java来...
  • 一、因Jmeter是纯java语言的,运行python脚本需先下载Java语言调用python... 在Language中选择jpython(python2.7/jpython2.7.1)即可进行python脚本编写 三、将python脚本执行结果保存于响应数据中 三、...
  • 自动化脚本——java

    千次阅读 2019-01-30 14:41:31
    自动化脚本 本文将介绍一个Java+TestNG+Maven+Selenium的web自动化测试脚本环境下selenium简单线性脚本的编写,并提供全部代码。 文中将看到,使用selenium编写一个能操作浏览器的脚本是非常容易的。而简单线性脚本...
  • 一套接口自动化框架

    2018-07-19 16:22:22
    一套接口自动化框架,框架搭建:unittest+python+ffmepg,实现功能report+html双报告输出、脚本case,模版case双编写、自定义失败重试,跳过等分级分层定制运行
  • 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_status脚本,大神轻喷#! usrbinpython#coding:utf-8importurllib.requestimportsocket#自动获取主机ip地址myname=socket.getfqdn(...
  • 接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及...下面我们以一个HTTP接口为例,完整的介绍接口自动化测试流程:从需求分析到用例设计,从脚本编写、测试执行到结果分析
  • Auto.js Pro基于节点操作,能开发全分辨率的脚本自动适配各种安卓机型 Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面 Auto.js Pro使用的javascript的语法比较优雅,代码可读性强 Auto.js Pro的命令...
  • Python3.7+RF3.1实现接口自动化

    千次阅读 2019-08-12 17:29:40
    Python3.7+RF3.1实现接口自动化 一、自动化测试框架 方案: python3.7+wxpython4.0.3+robotframework3.1.2+RIDE1.7.3 说明:robotframework是一款匹配python的测试框架,可用于接口自动化测试和web自动化测试;RIDE...
  • 基于Python的HTTP接口自动化测试框架实现

    万次阅读 多人点赞 2011-04-22 14:36:00
    基于Python的HTTP接口自动化测试框架实现 作者:张元礼 http://blog.csdn.net/vincetest 一、测试需求描述 对服务后台一系列的http接口功能测试。 输入:根据接口描述构造不同的参数输入值 输出:XML文件 eg:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,303
精华内容 43,721
关键字:

编写接口自动化的脚本