目录
二、Httprunner入门
1.计划目标:
2.安装部署httprunner
3.git、jenkins配置
3.1创建git仓库
3.2.devops流水线集成
4.常见抓包工具参数信息
5.testcase编写及报告生成
6.测试规范
7.学习过程中遇到的问题及答疑
二、Httprunner入门
1.计划目标:
| 1 | 实现接口可用,在git和jenkins上可以跑通 |
| 1>梳理接口 | |
| 2>编写接口测试用例 | |
| 3>执行用例 | |
| 4>输出报告 | |
| 2 | 接口调试 |
| 3 | 各个大流程可正常跑起来 |
| 4 | 最终实现自动化用例覆盖 |
2.安装部署httprunner
| 一、 | 安装python3.9.7 | 见一、安装部署httprunner |
| 二、 | 安装httprunner | 见一、安装部署httprunner |
| 三、 | 安装git | 见3git、jenkins配置页面 |
| 四、 | 配置jenkins | 见3git、jenkins配置页面 |
| 五、 | 上传代码到git | 安装TortoiseGit-LanguagePack-2.12.0.0-64bit-zh_CN,中文win64版,使用方法参见https://www.cnblogs.com/xiuxingzhe/p/9312929.html |
| 六、 | 定时任务自动跑 |
3.git、jenkins配置
3.1创建git仓库
| 3.1创建git仓库 | |
| 1 | 初始化git |
| git init | |
| 2 | 配置git仓库 |
| git config --global user.name "郭欣(10037958)" git config --global user.email "guox-j@glodon.com" | |
| 3 | 克隆项目仓库信息 |
| git clone https://geek.glodon.com/scm/gczbk/zbk_api.git | |
| 4 | 推送代码至git仓库 |
| 查看现有的项目 cd existing-project 添加git所有文件信息 git add --all 添加文件描述信息 git commit -m "Initial Commit" + 远程仓库地址 //链接远程仓库,创建主分支 git remote add origin https://geek.glodon.com/scm/gczbk/zbk_api.git 把本地仓库的变化连接到远程仓库主分支 git push -u origin HEAD:master | |
| 5 | 如果您的代码已被 Git 跟踪,则将此存储库设置为您要推送到的“源”。 |
| cd existing-project git remote set-url origin https://geek.glodon.com/scm/gczbk/zbk_api.git git push -u origin --all git push origin --tags | |
| 6 | 显示当前配置文件 |
| git config --list git config [--global] user.name "[name]" git config [--global] user.email "[email address]" | |
| 7 | 安装图形化界面 |
| 官网下载TortoiseGit-LanguagePack-2.12.0.0-64bit-zh_CN安装 | |
3.2.devops流水线集成
第一步:创建pipeline,选择new->Pipeline
第二步:编写pipeline脚本,我们使用标准化流水线模板,流水线脚本如下:
@Library(['lib-core']) _
def config = [
mailRecepiant : '${params.AUTHOR}',
scmCredentialsId: "${params.GIT_CredentialsId}",
scmConfig : [
[
scmUrl: "${params.GIT_PATH}",
branch:"${params.BRANCH}",
]
],
testTool : "HttpRunner",
pythonVersionLevel:"3",
testCasePath:"${params.TEST_CASE_PATH}",
reportTool:"ALLUER",
]
runPipeline(config) {
stagePrepare(config)
stageScm(config)
// stageBuild(config)
stageApiTest(config)
}
| 字段 | 释义 |
| mailRecepiant | 邮件发送人,填写域账号 |
| scmCredentialsId | Git认证凭据 |
| scmUrl | Git地址 |
| branch | 代码分支 |
| testTool | 测试框架 |
| pythonVersionLevel | Python版本 |
| testCasePath | 需要执行的测试脚本目录,可以指向文件夹,也可以指向测试脚本 |
| reportTool | 测试报告工具 |
第三步:添加变量参数,流水线脚本中将mailRecepiant、scmCredentialsId、scmUrl、branch、testCasePath字段参数化,方便执行前进行更改。选择Add Parameter →String Parameter,添加以上几个变量,填入默认值,如下图
第四步:执行流水线
执行完成后可以查看测试报告,点击Allure Report可以查看测试报告
流水线关联执行:测试的流水线可以关联研发的流水线,实现部署成功后执行测试,验证部署服务正确性。如下图:
4.常见抓包工具参数信息
| 1 | 抓包名词 | |
| request关键词: 1.request关键词中包括http请求中的详细内容 2.headers:请求头部信息 3.method:请求方式 4.url:请求地址 5.host:请求主机地址 6.params:GET请求参数 7.data:表单形式的参数 8.json:json格式的参数 | ||
| 2 | Content-Type | |
| Content-Type: text/html;charset:utf-8; 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格式 image/jpeg :jpg图片格式 image/png:png图片格式 以application开头的媒体格式类型: application/xhtml+xml :XHTML格式 application/xml : XML数据格式 application/atom+xml :Atom XML聚合格式 application/json : JSON数据格式 application/pdf :pdf格式 application/msword : Word文档格式 application/octet-stream : 二进制流数据(如常见的文件下载) application/x-www-form-urlencoded : | ||
5.testcase编写及报告生成
| 名词解释 | |
| api:编写接口时需要写的接口url reports:存放日志结果 testcase:测试用例 .env:配置文件 debugtalk.py:辅助函数 | |
| 序号 | testcase及测试报告生成步骤 |
| 1 | 用抓包工具抓包 |
| 2 | 测试用例编写 |
| 2.1. | .har文件转换为json格式 |
| har2case ./Desktop/1.har ./Desktop/1.json新版用har2case 1.har | |
| 2.2. | 进入testcase目录后运行testcase |
| hrun T1_test.yml | |
| 3 | 生成allure报告 |
| 3.1. | 执行测试脚本生成json格式测试报告 hrun testcase/analyse --alluredir=allure-results --clean-alluredir |
| 3.2. | 将allure-results文件夹下的json文件渲染成网页结果 allure generate allure-results -o allure-report --clean |
| 打开测试报告 allure open allure-report | |
| 3 | 如果我们希望测试用例失败后停止运行,可以加--failfast参数 |
| hrun testcase --failfast | |
6.测试规范
*如需独立创建自动化测试目录,必须在二级目录下创建,目录命名规范:
• 目录名称:三级产品编码 -auto-test ,如:xmmc-manager -auto-test ; • 展示名称:三级产品目录 + 自动化测试,如:运营中心自动化测试。跟随项目目录的自动化测试,不需要创建目录,在对应项目目录下创建自动化测试流水线
7.学习过程中遇到的问题及答疑
| 2021915 | |
| 1 | 安装什么样的包 |
| 答 | 安装Windows installer (64-bit)包,可以直接一键安装不用在配置其他 |
| 20210916 | |
| 2 | 如何实现.har文件转换为json格式 |
| 答 | 用fiddle在页面上抓要转的接口包,使用命令har2case ./Desktop/1.har ./Desktop/1.json;可将json串的格式转换为.har文件 har2case 1.har新版进入目录后,用这个命令也可以转 |
| 3 | 如何运行testcase |
| 答 | 使用命令:hrun ./Desktop/1.yml |
| 2021.9.17 | |
| 4 | 如何生成报告 |
| 1> | pip install allure-pytest |
| 2> | https://github.com/allure-framework/allure2/releases将下载成功的allure-2.15.0解压后放在bin目录下 |
| 3> | 生成allure报告 |
| 3.1> | 执行测试脚本生成json格式测试报告 hrun testcase/analyse --alluredir=allure-results --clean-alluredir |
| 3.2> | 将allure-results文件夹下的json文件渲染成网页结果 allure generate allure-results -o allure-report --clean |
| 3.3> | 打开测试报告 allure open allure-report |
| 2021.9.18 | |
| 1 | 使用pip命令的时候,系统提示ERROR: Exception: Traceback (most recent call last): File "F:ProgramsPythonPython397libsite-packagespip_internalclibase_command.py", line 173, in _main status = self.run(options, args) |
| 答 | 注意是否打开抓包工具,抓包工具的端口会和python的端口冲突,关闭即可解决 |
| 2 | 如何生成.yml格式的接口测试用例 |
| har2case 1.har -2y | |
| 2021.9.28 | 如何同步项目到git |
| 1.安装git 2.往git库里添加项目信息 3.命令为首次进入git库,默认页面给出的列,按照顺序执行即可 | |
| 2021.9.29 | 测试用例 |
希望可以帮助到大家,喜欢的话麻烦给小编点个赞呗~



