zoukankan      html  css  js  c++  java
  • 接口自动化框架(java)--3.get,delete请求,Excel管理多种请求类型

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

    每种请求类型放入不同的sheet中,就可以避免新建太多的excel去做数据驱动。

    XSSFSheet类提供了一个读取sheet的方法,getSheetAt(int),通过下标去访问想要的sheet

    1.Excel,添加两个sheet页改名成get , delete,代表这两种类型的接口

    2. 在用例的dataProvider中将这两个sheet作两个方法分别读取。再传入对应的test中

     1 package com.qa.tests;
     2  
     3 import com.alibaba.fastjson.JSON;
     4 import com.qa.base.TestBase;
     5 import com.qa.Parameters.postParameters;
     6 import com.qa.restclient.RestClient;
     7 import com.qa.util.TestUtil;
     8 import org.apache.http.client.methods.CloseableHttpResponse;
     9 import org.testng.Assert;
    10 import org.testng.annotations.BeforeClass;
    11 import org.testng.annotations.DataProvider;
    12 import org.testng.annotations.Test;
    13  
    14 import java.io.IOException;
    15 import java.util.HashMap;
    16  
    17 import static com.qa.util.TestUtil.dtt;
    18  
    19 public class testCase1 extends TestBase {
    20     TestBase testBase;
    21     RestClient restClient;
    22     CloseableHttpResponse closeableHttpResponse;
    23     //host根url
    24     String host;
    25     //Excel路径
    26     String testCaseExcel;
    27     //header
    28     HashMap<String ,String> postHeader = new HashMap<String, String>();
    29     @BeforeClass
    30     public void setUp(){
    31         testBase = new TestBase();
    32         restClient = new RestClient();
    33         postHeader.put("Content-Type","application/json");
    34         //载入配置文件,接口endpoint
    35         host = prop.getProperty("Host");
    36         //载入配置文件,post接口参数
    37         testCaseExcel=prop.getProperty("testCase1data");
    38  
    39     }
    40  
    41     @DataProvider(name = "postData")
    42     public Object[][] post() throws IOException {
    43         //post类型接口
    44         return dtt(testCaseExcel,0);
    45  
    46     }
    47  
    48     @DataProvider(name = "get")
    49     public Object[][] get() throws IOException{
    50         //get类型接口
    51         return dtt(testCaseExcel,1);
    52     }
    53  
    54     @DataProvider(name = "delete")
    55     public Object[][] delete() throws IOException{
    56         //delete类型接口
    57         return dtt(testCaseExcel,2);
    58     }
    59     @Test(dataProvider = "postData")
    60     public void login(String loginUrl,String username, String passWord) throws Exception {
    61         //使用构造函数将传入的用户名密码初始化成登录请求参数
    62         postParameters loginParameters = new postParameters(username,passWord);
    63         //将登录请求对象序列化成json对象
    64         String userJsonString = JSON.toJSONString(loginParameters);
    65         //发送登录请求
    66         closeableHttpResponse = restClient.postApi(host+loginUrl,userJsonString,postHeader);
    67         //从返回结果中获取状态码
    68         int statusCode = TestUtil.getStatusCode(closeableHttpResponse);
    69         Assert.assertEquals(statusCode,200);
    70  
    71     }
    72  
    73     @Test(dataProvider = "get")
    74     public void getApi(String url) throws Exception{
    75         closeableHttpResponse = restClient.getApi(host+ url);
    76         int statusCode = TestUtil.getStatusCode(closeableHttpResponse);
    77         Assert.assertEquals(statusCode,200);
    78     }
    79  
    80     @Test(dataProvider = "delete")
    81     public void deleteApi(String url) throws Exception{
    82         System.out.println(url);
    83         closeableHttpResponse = restClient.deleteApi(url);
    84         int statusCode = TestUtil.getStatusCode(closeableHttpResponse);
    85         Assert.assertEquals(statusCode,204);
    86     }
    87  
    88     @BeforeClass
    89     public void endTest(){
    90         System.out.print("测试结束");
    91     }
    92  
    93 }

     

    原文地址https://blog.csdn.net/qq_34693151/article/details/81875790

  • 相关阅读:
    【校内模拟7.30】—slay(容斥+dp)
    【校内模拟7.30】—slay(容斥+dp)
    【校内模拟7.30】—Ball(bitset)
    【校内模拟7.30】—Ball(bitset)
    多测师讲解rf _基本使用002_高级讲师肖sir
    多测师讲解 自动化测试理论(1)_高级讲师肖sir
    多测师讲解selenium_运行报告相出错归纳_高级讲师肖sir
    多测师讲解selenium—自动化测试课堂面试题总结—高级讲师肖sir
    多测师讲解python _unttest框架002(结合项目实战)_高级讲师肖sir
    多测师讲解python _unttest框架001(基本格式)_高级讲师肖sir
  • 原文地址:https://www.cnblogs.com/111testing/p/10624742.html
Copyright © 2011-2022 走看看