这套框架的报告是自己封装的

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请求,参数配置相关推荐

  1. pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程

    pytest+yaml设计接口自动化框架过程记录 第三代框架使用教程,该框架比现在这个完善了很多 框架简介 框架运行演示和功能介绍视频 pytest+yaml框架环境配置和使用教程 0.去年也写了一个 ...

  2. pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联

    前言 使用 yaml 文件写测试用例的时候,如何在 yaml 文件的测试用例里面实现参数关联? 这是很多做自动化测试的小伙伴经常思考的一个问题. 接着前面的pytest+yaml 文件实现接口自动化框 ...

  3. Java接口自动化框架系列07:Web接口自动化测试框架设计思路

    1.Java web接口自动化框架 框架名称:Java+Maven+httpClients+TestNg+Allure (因本次只讲解java部分,未包括git和jenkins,如果是包括git和je ...

  4. python+requests+pytest 接口自动化框架(一)

    目录 一.Pytest详解以及常用的插件安装 二.Pytest默认的测试用例的规则 三.Pytest用例运行方式以及参数 1.命令行模式运行 命令:pytes 2.主函数模式运行 3.基于pytest ...

  5. 浅谈python+requests接口自动化框架

    为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...

  6. python api开发用什么框架_python+requests接口自动化框架

    为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...

  7. 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)

    python接口自动化一(设计一款自己的接口自动化框架) 一.起因: 前面学习过了python接口requests来进行接口测试,但是在框架选择上还是选择的unittest.当接口数量不怎么多时还好, ...

  8. python接口自动化实战(框架)_python接口自动化框架实战

    python接口测试的原理,就不解释了,百度一大堆. 先看目录,可能这个框架比较简单,但是麻雀虽小五脏俱全. 各个文件夹下的文件如下: 一.理清思路 我这个自动化框架要实现什么 1.从excel里面提 ...

  9. Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架

    目录 前言 实现功能 目录结构 依赖库 安装教程 接口文档 如何创建用例 创建用例步骤 用例中相关字段的介绍 如何发送get请求 如何发送post请求 如何测试上传文件接口 上传文件接口,即需要上传文 ...

最新文章

  1. 深度学习核心技术精讲100篇(六十六)- 基于LXD的GPU算力虚拟化(附解决方案代码)
  2. ABAP 生成ZIP压缩文件的代码
  3. spring boot整合mybatis步骤
  4. 浅谈C++类(6)--复制构造函数
  5. python运算符重载
  6. PAT学习资料汇总(PAT甲级、PAT顶级、PAT考试经验)
  7. 浅谈C# Socket编程及C#如何使用多线程
  8. Python 爬虫+tkinter界面 实现历史天气查询
  9. C++对象池技术剖析
  10. 关于SVN状态图标不显示的解决办法(史上最全)
  11. 蚂蚁Java高端培训视频教程-每特学院,蚂蚁课堂
  12. html+css+js的生日祝福网页+更改教程
  13. 销售自用计算机损益计入哪里,用友创业者4.0下的ERP沙盘模拟经营规则中,销售所需紧急采购产品时,按成品直接成本的(    )倍直接扣除现金,付款即到货,紧急采购多付出的成本计入费用表损失项。...
  14. GoldenDict 上的那些精美版权词典(附下载地址)(英语、俄语、梵语、印地语)
  15. bundle adjustment算法学习
  16. 中国首次包揽2021年国际信息学奥赛(IOI 2021)前四名
  17. 19_09_13 关于c语言中位域的理解
  18. 表格中insertBefore方法的使用(The node before which the new node is to be inserted is not a child of this no)
  19. 14_自定义ItemDecoration实现qq好友列表分组效果
  20. 字符串写入到json文件

热门文章

  1. Flink SQL 功能解密系列 —— 解决热点问题的大杀器MiniBatch
  2. Swift数组扩容原理
  3. 50个查询系列-第二个查询
  4. Linux echo详解
  5. The Text Splitting (将字符串分成若干份,每份长度为p或q)
  6. iBatis 配置文件详解
  7. 合工大建筑和计算机专业哪个好,合肥工业大学最好的专业是什么(10大热门专业排名)...
  8. CCS卸载安装过程及所遇问题
  9. 安装VMwareTools后虚拟机中的鼠标滚轮无法使用解决办法
  10. Vmware Tools安装之Ubuntu7.10问题解决--持续更新中