前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口自动化测试框架---初学HttpRunner(三)

接口自动化测试框架---初学HttpRunner(三)

作者头像
小雯子打豆豆
发布2020-06-19 10:28:54
8390
发布2020-06-19 10:28:54
举报

漫长的加班终于结束了,终于有时间把以前落下的债好好补一补,加油!!!

本篇文章主要讲如何利用httprunner自己编写一个自动化脚本,一起往下看吧!

一、首先了解项目各模块之间构成。

主要讲以下三者之间的关系

1、api:用来对接口定义进行描述(相当于单接口测试)

2、testcases:编写的测试用例场景可以通过引用api的接口描述 (相当于单元测试)

3、testsuites:测试用例集,当测试用例较多的时候,就可以使用testsuits来进行组织管理(相当于集成测试)

二、项目实战

我这里找到了一个可以用做接口测试的网址,如下:

http://doc.nnzhp.cn/index.php?s=/6&page_id=12

这里就是一个简单的demo,后期慢慢写复杂的。

说下我的思路:编写user_create.yaml和user_login.yaml接口文档,然后通过testcases创建user_create_login.yaml 实现用户先注册后登录的一个流程

ps:注意这里的文件格式是yaml,和自动生成的格式不一样哦!

1)第一步,编写接口api描述

代码语言:javascript
复制
name: user_create  #api 功能描述 -注册
request:
    url: user/user_reg  #请求路径 注册用户
    method: POST   #请求方式 建议大写哦!
    data:  #这里标注下 我尝试了params没有作用 注意咯
        username: $username  #接口参数 通过testcase中的variables进行传值
        pwd: $pwd #接口参数 
        cpwd: $pwd #接口参数 
    verify: False  #用于忽略认证校验
validate:  #断言结果 用于判断执行成功失败
    - eq: ['status_code',200]  #正常的状态码,常见200,500,400等
    - eq: ['content.msg','注册成功!']
代码语言:javascript
复制
name: user_login  #api 功能描述
request:
    url: user/login  #请求路径 登录系统
    method: POST   #请求方式
    data:
      username: $username  #接口参数 通过testcase中的variables进行传值
      passwd: $pwd #接口参数 通过testcase中的variables进行传值
validate:
- eq: ['status_code',200]  #断言结果 用于判断执行成功失败
- eq: ['content.error_code',0]  #断言结果 用于判断执行成功失败 断言返回消息中的内容

2)编写testcases中脚本,进行用户创建和登录操作(不知道为啥代码放上去颜色变了,神奇)

代码语言:javascript
复制
- config:
    name: register and login
    base_url: http://api.nnzhp.cn/api/  #设置基本url地址 会自动拼接api中的路径
    variables: # 定义变量 可以作为api中的参数
      username: 'xiaowenziaa' #注册接口只能输入英文名称,中文暂不支持
      pwd: 'aA123456' 
- test:
    name: create user
    api: api/user_create.yaml #api路径  #最终的路径会和base_url进行拼接
- test:
    name: user_login
    api: api/user_login.yaml #api路径

3)执行代码,查看测试报告

成功结果如下:

这里提醒一下,在testcases中也可以添加断言,若testcase中存在断言时,会先对api中的进行校验,再对testcase中进行校验。如下图:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档