第一种方式:使用export导出变量,变成全局变量
当登录用例写完后,后面想继续写其他用例,可以导入前面的login用例,当成下个用例的步骤使用
导入前一个用例之前,需先 export 导出变量,变成全局变量。
登陆用例:
创建文件夹login,在文件夹下分别创建两个文件login.yml 和 useinfo.yml
login.yml用于测试登陆接口, useinfo.yml用于测试获取用户信息
login.yml内容大概如下:
config: name: 测试登录后关联 variables: username: test password: 123456 export: - token teststeps: - name: 登录成功 request: url: http://124.70.221.221:8201/api/v1/login method: POST json: username: ${username} password: ${password} extract: token: body.token validate: - eq: ["status_code", 200] - eq: [body.code, 0]
获取用户信息用例:
其他用例需用到登录的场景,可以使用testcase 关键字导入
config: name: 测试登录后关联 teststeps: - name: 1.登录后-获取token testcase: login/login.yml - name: 2.info request: method: GET headers: Authorization: Token ${token} url: http://124.70.221.221:8201/api/v1/userinfo validate: - eq: [body.code, 0]
使用testcase 导入前面一个用例,导入用例的路径根据项目根目录使用相对路径
使用hrp 命令运行后生成报告
hrp run login/userinfo.yml --gen-html-report
注意点:执行hrp命令的时候,进入的目录一定要是login文件夹的上一级目录,否则无法成功引入login.yml文件种的内容。用例执行结果为0
第二种方式直接写入:把依赖关系写在同一条用例中
具体步骤:
config: name: 用例描述-登录用例 base_url: http://124.70.221.221:8201 variables: user: test1 psw: "123456" export: - token teststeps: - name: step-登录 request: url: /api/v1/login method: POST json: username: $user password: $psw extract: token: body.token validate: - eq: [status_code, 200] - eq: [body.msg, login success!] - name: step-userinfo request: url: /api/v1/userinfo headers: Authorization: Token $token method: POST json: name: $user sex: M age: 20 mail: 283340479@qq.com validate: - eq: [status_code, 200] - eq: [body.code, 0]
进入testcase目录,执行hrp输出report
hrp run test_info.yml --gen-html-report