欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

httprunner学习成长之路---手动编写一个自动化测试脚本

程序员文章站 2022-03-06 17:02:39
...

关注我的公众号【软件测试小助手】,一起学习探讨测试知识,一起进步~    

公众号会添加一些趣闻、开发相关等文章 会更加有意思哦~

今天来讲解如何手动编写一个自动化测试脚本

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

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描述

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','注册成功!']
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中脚本,进行用户创建和登录操作

- 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中进行校验。如下图:

httprunner学习成长之路---手动编写一个自动化测试脚本

相关标签: 软件测试