接口自动化框架(java)--2.接口用例POST请求,参数配置
这套框架的报告是自己封装的
Post类型的接口通常有请求参数,请求参数也是json类型,所以需要写一个类将请求参数序列化成json对象
以常见的登录接口为例
新建一个package,和postParameters类
1 package com.qa.Parameters; 2 3 public class postParameters { 4 private String userName; 5 private String password; 6 7 public postParameters(){ 8 9 } 10 //login 11 public postParameters(String userName , String password){ 12 this.userName = userName; 13 this.password = password; 14 } 15 16 public String getUserName() { 17 return userName; 18 } 19 20 public void setUserName(String userName){ 21 this.userName = userName; 22 } 23 24 public String getPassword() { 25 return password; 26 } 27 28 public void setPassword(String password){ 29 this.password = password; 30 } 31 }
2.在config.properties中配置根url,以及excel地址
#TestCase1 Host = https://xxxxxx.cn testCase1data = F:\\gitcode\\API_AutoFramework\\src\\main\\java\\com\\qa\\data\\testCase1data.xlsx
4.在tests目录下建一个测试类继承TestBase,再引入testng,编写测试用例
package com.qa.tests;import com.alibaba.fastjson.JSON; import com.qa.base.TestBase; import com.qa.Parameters.postParameters; import com.qa.restclient.RestClient; import com.qa.util.TestUtil; import org.apache.http.client.methods.CloseableHttpResponse; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider; import org.testng.annotations.Test;import java.io.IOException; import java.util.HashMap;import static com.qa.util.TestUtil.dtt;public class testCase1 extends TestBase {TestBase testBase;RestClient restClient;CloseableHttpResponse closeableHttpResponse;//host根url String host;//Excel路径 String testCaseExcel;//headerHashMap<String ,String> postHeader = new HashMap<String, String>();@BeforeClasspublic void setUp(){testBase = new TestBase();restClient = new RestClient();postHeader.put("Content-Type","application/json");//载入配置文件,接口endpointhost = prop.getProperty("Host");//载入配置文件,post接口参数testCaseExcel=prop.getProperty("testCase1data");}@DataProvider(name = "postData")public Object[][] post() throws IOException {return dtt(testCaseExcel,0);}@Test(dataProvider = "postData")public void login(String loginUrl,String username, String passWord) throws Exception {//使用构造函数将传入的用户名密码初始化成登录请求参数postParameters loginParameters = new postParameters(username,passWord);//将登录请求对象序列化成json对象String userJsonString = JSON.toJSONString(loginParameters);//发送登录请求closeableHttpResponse = restClient.postApi(host+loginUrl,userJsonString,postHeader);//从返回结果中获取状态码int statusCode = TestUtil.getStatusCode(closeableHttpResponse);Assert.assertEquals(statusCode,200);}@BeforeClasspublic void endTest(){System.out.print("测试结束");}}
原文地址https://blog.csdn.net/qq_34693151/article/details/81874656
转载于:https://www.cnblogs.com/111testing/p/10624727.html
接口自动化框架(java)--2.接口用例POST请求,参数配置相关推荐
- pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程
pytest+yaml设计接口自动化框架过程记录 第三代框架使用教程,该框架比现在这个完善了很多 框架简介 框架运行演示和功能介绍视频 pytest+yaml框架环境配置和使用教程 0.去年也写了一个 ...
- pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联
前言 使用 yaml 文件写测试用例的时候,如何在 yaml 文件的测试用例里面实现参数关联? 这是很多做自动化测试的小伙伴经常思考的一个问题. 接着前面的pytest+yaml 文件实现接口自动化框 ...
- Java接口自动化框架系列07:Web接口自动化测试框架设计思路
1.Java web接口自动化框架 框架名称:Java+Maven+httpClients+TestNg+Allure (因本次只讲解java部分,未包括git和jenkins,如果是包括git和je ...
- python+requests+pytest 接口自动化框架(一)
目录 一.Pytest详解以及常用的插件安装 二.Pytest默认的测试用例的规则 三.Pytest用例运行方式以及参数 1.命令行模式运行 命令:pytes 2.主函数模式运行 3.基于pytest ...
- 浅谈python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- python api开发用什么框架_python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)
python接口自动化一(设计一款自己的接口自动化框架) 一.起因: 前面学习过了python接口requests来进行接口测试,但是在框架选择上还是选择的unittest.当接口数量不怎么多时还好, ...
- python接口自动化实战(框架)_python接口自动化框架实战
python接口测试的原理,就不解释了,百度一大堆. 先看目录,可能这个框架比较简单,但是麻雀虽小五脏俱全. 各个文件夹下的文件如下: 一.理清思路 我这个自动化框架要实现什么 1.从excel里面提 ...
- Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
目录 前言 实现功能 目录结构 依赖库 安装教程 接口文档 如何创建用例 创建用例步骤 用例中相关字段的介绍 如何发送get请求 如何发送post请求 如何测试上传文件接口 上传文件接口,即需要上传文 ...
最新文章
- 深度学习核心技术精讲100篇(六十六)- 基于LXD的GPU算力虚拟化(附解决方案代码)
- ABAP 生成ZIP压缩文件的代码
- spring boot整合mybatis步骤
- 浅谈C++类(6)--复制构造函数
- python运算符重载
- PAT学习资料汇总(PAT甲级、PAT顶级、PAT考试经验)
- 浅谈C# Socket编程及C#如何使用多线程
- Python 爬虫+tkinter界面 实现历史天气查询
- C++对象池技术剖析
- 关于SVN状态图标不显示的解决办法(史上最全)
- 蚂蚁Java高端培训视频教程-每特学院,蚂蚁课堂
- html+css+js的生日祝福网页+更改教程
- 销售自用计算机损益计入哪里,用友创业者4.0下的ERP沙盘模拟经营规则中,销售所需紧急采购产品时,按成品直接成本的( )倍直接扣除现金,付款即到货,紧急采购多付出的成本计入费用表损失项。...
- GoldenDict 上的那些精美版权词典(附下载地址)(英语、俄语、梵语、印地语)
- bundle adjustment算法学习
- 中国首次包揽2021年国际信息学奥赛(IOI 2021)前四名
- 19_09_13 关于c语言中位域的理解
- 表格中insertBefore方法的使用(The node before which the new node is to be inserted is not a child of this no)
- 14_自定义ItemDecoration实现qq好友列表分组效果
- 字符串写入到json文件