当前位置: 首页 > news >正文

网站备案表上面的开办单位写什么网推团队

网站备案表上面的开办单位写什么,网推团队,爱站网使用的是什么网站,某财政局网站建设方案一、测试需求描述 对服务后台一系列的http接口功能测试。 输入:根据接口描述构造不同的参数输入值(Json格式) 输出:字符串(传入的方式传入的字符串) http://localhost:8090/lctest/TestServer 二、程序设计…

一、测试需求描述

    对服务后台一系列的http接口功能测试。

    输入:根据接口描述构造不同的参数输入值(Json格式)

    输出:字符串(传入的方式+传入的字符串)

    http://localhost:8090/lctest/TestServer

二、程序设计

    1、Client程序设计

        读取Excel配置的测试用例数据

        发送参数Json格式给Server,接收Server的返回数据

        进行数据比对校验,返回测试结果,将数据插入到Excel中

    2、Server端程序设计

        接受Client的参数,进行解析

        发送返回数据给client

三、实现方法

    1、选用Java脚本来驱动测试

    2、采用Excel表格管理测试数据,包括用例的管理、测试数据录入、测试结果显示等等,这个需要封装一个Excel的类。

    3、调用http接口采用java自带的的API

    4、测试需要的将参数转化成字符串

    5、通过预期结果和实际结果的对比,将实际结果和对比结果写入Excel用例中,这里封装了一个类

    6、首次执行测试采用人工检查输出的是否正确,一旦正确写入Excel的期望结果中,如果发现错误手工修正为预期文件。

四、Excel表格设计

五、代码结构

六、实现代码

1、ExcelUtil.java

    

package client;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class ExcelUtil {//读取Excel中数据public static List<Param> read() throws Exception{HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet s = wb.createSheet();HSSFRow row = s.createRow(0);HSSFCell cell = row.createCell((int)0,0);//------------从xls读出数据wb = new HSSFWorkbook(new FileInputStream("D:\\learn\\test.xls"));s = wb.getSheetAt(0);//获得EXCEL行数int rowNums=s.getLastRowNum();//获得Excell列数//int columnNum=r.getPhysicalNumberOfCells();List<Param> params=new ArrayList<Param>();for(int i=1;i<=rowNums;i++){HSSFRow r = s.getRow(i);cell=r.getCell(0);Param param= new Param();param.setNo(r.getCell(0).getStringCellValue());param.setName(r.getCell(1).getStringCellValue());param.setAge(r.getCell(2).getStringCellValue());param.setSex(r.getCell(3).getStringCellValue());param.setExpResu(r.getCell(4).getStringCellValue());
//			 System.out.println(cell.getRichStringCellValue());params.add(param);}return params;}/*** 写入Excel,在任意坐标处写入数据。* String value:你要输入的内容* int x :行坐标,Excel从 0 算起* int y   :列坐标,Excel从 0 算起*/public static void writeCell(String filePath,int x,int y,String value) {try {// 创建Excel的工作书册 Workbook,对应到一个excel文档HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(filePath));HSSFSheet sheet=wb.getSheetAt(0);HSSFRow row=sheet.getRow(x);HSSFCell cell=row.getCell((short) y);cell.setCellValue(value);FileOutputStream os;os = new FileOutputStream(filePath);wb.write(os);os.close();} catch (Exception e) {e.printStackTrace();}}
}

2、JsonsUtil.java

    

package client;import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;/*** 使用json-lib构造和解析Json数据*/
public class JsonsUtil {/**将Bean转换成Map* 将Map转换Json数据*/public static String BuildJson(Param param) throws JSONException {Map<String, String> map1 = new HashMap<String, String>();map1.put("no", param.getNo());map1.put("name", param.getName());map1.put("age", param.getAge());map1.put("sex", param.getSex());
//         map1.put("expResu", param.getExpResu());// JSON格式数据解析对象JSONObject jo = new JSONObject();// 将Map转换为JSONArray数据JSONArray ja = new JSONArray();ja.put(map1);
//        System.out.println("JSONArray对象数据格式:"+ja.toString());jo.put("map", ja);
//        System.out.println("最终构造的JSON数据格式:"+jo.toString());return jo.toString();}/*** 解析Json数据**/public static JSONArray ParseJson(String jsonString) throws JSONException,ParseException {JSONObject jo = new JSONObject(jsonString);JSONArray ja = jo.getJSONArray("map");
//        System.out.println(ja.getJSONObject(0).getString("name"));return ja;}
}

3、Param.java

package client;public class Param {String no;//编号String name;//姓名String age;//年龄String sex;//性别String expResu;//期望结果String actResu;//实际结果String pass;//是否通过String desc;//描述public String getName() {return name;}public void setName(String name) {this.name = name;}public String getNo() {return no;}public void setNo(String no) {this.no = no;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getExpResu() {return expResu;}public void setExpResu(String expResu) {this.expResu = expResu;}public String getActResu() {return actResu;}public void setActResu(String actResu) {this.actResu = actResu;}public String getPass() {return pass;}public void setPass(String pass) {this.pass = pass;}public String getDesc() {return desc;}public void setDesc(String desc) {this.desc = desc;}
}

4、CompareRes.java

    

package client;public class CompareRes {int actResuNo=5;//测试结果在第五例int passNo=6;//对比结果在第六列public  void compare(String filePath,Param param,String actResu){ExcelUtil.writeCell(filePath,Integer.parseInt(param.getNo()),actResuNo,actResu);if(param.getExpResu().trim().equals(actResu)){ExcelUtil.writeCell(filePath,Integer.parseInt(param.getNo()),passNo,"Y");}else{ExcelUtil.writeCell(filePath,Integer.parseInt(param.getNo()),passNo,"N");}}
}

5、TestClient .java

package client;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;public class TestClient {public static void main(String[]agrs){TestClient a=new TestClient();try {a.client();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void client() throws Exception{List<Param> params = ExcelUtil.read();for(Param pa:params){try {// 接报文的地址String filePath="D:\\learn\\test.xls";String param= new JsonsUtil().BuildJson(pa);URL serverUrl= new URL("http://localhost:8090/lctest/TestServer");URLConnection uct= serverUrl.openConnection();HttpURLConnection hutc=(HttpURLConnection)uct;	// 设置报文参数hutc.setRequestMethod("POST");// 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在 http正文内,因此需要设为true, 默认情况下是false; hutc.setDoOutput(true);// 设置是否从httpUrlConnection读入,默认情况下是truehutc.setDoInput(true);	
//				hutc.setAllowUserInteraction(true);// 开启流,写入数据dataOutputStream out=hutc.getOutputStream();out.write(param.getBytes("UTF-8"));out.flush();out.close();// 获取返回的数据	StringBuffer buffer=new StringBuffer();BufferedReader reader = null;InputStream ins=hutc.getInputStream();reader = new BufferedReader(new InputStreamReader(ins,"UTF-8"));String sg=reader.readLine();if (sg!= null){buffer.append(sg);}System.out.println("接收返回值:" + buffer);new CompareRes().compare(filePath, pa, buffer.toString());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
}

6、TestServer

public class TestServer extends HttpServlet {private static final long serialVersionUID = 1L;private static JSONArray ja;/*** @see HttpServlet#HttpServlet()*/public TestServer() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubtry {this.excute(request, response);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubtry {this.excute(request, response);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void excute(HttpServletRequest request,HttpServletResponse response) throws Exception{request.setCharacterEncoding("utf-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/xml");String method=request.getMethod();String url=request.getRequestURI();String param;// 获取收到的报文BufferedReader reader = request.getReader();String line = "";line = reader.readLine();ja=new JsonsUtil().ParseJson(line);		StringBuffer resultBuffer=new StringBuffer();resultBuffer.append("访问方式"+method+"访问成功");resultBuffer.append("接收到的数据:"+line);PrintWriter out =response.getWriter();out.println(resultBuffer.toString());out.flush();out.close();}
}

7、web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><servlet><servlet-name>TestServer</servlet-name><servlet-class>com.servlet.TestServer</servlet-class></servlet><servlet-mapping><servlet-name>TestServer</servlet-name><url-pattern>/lctest/TestServer</url-pattern></servlet-mapping>
</web-app>

Python接口自动化测试零基础入门到精通(2023最新版)

http://www.ds6.com.cn/news/46282.html

相关文章:

  • 程序员给女朋友做的网站线上推广渠道主要有哪些
  • 郑州航海路附近网站建设公司百度seo推广价格
  • 小米路由器做网站服务器吗上海app网络推广公司电话
  • 中国万网网址怎么优化自己网站
  • 网站被抓取百度一下全知道
  • 一个网站如何做推广杭州seo网
  • 青山网站建设网站模板
  • 网站开发公司有什么福利线上推广的好处
  • 重庆人才招聘网官网浙江seo关键词
  • wordpress多站点无法访问爱站网关键词搜索
  • 自己做的网站怎么删除汕头seo网络推广服务
  • 如何做垂直网站推广普通话宣传周活动方案
  • 中苏园林建设集团网站抖音seo怎么做的
  • php网站页面转wordpressseo关键词优化软件
  • 网站备案身份证农技推广
  • 做律师网站的网络公司苏州网络推广seo服务
  • 阿里云做网站哪个推广网站好
  • 建设企业网站找谁常见的网站推广方法有哪些
  • 网站建设合同要交印花税吗情感网站seo
  • 做网站导航栏素材图推广网站多少钱
  • it外包合同视频号排名优化帝搜软件
  • 洞口做网站的公司最全bt搜索引擎
  • 沈阳商城网站制作上海优化网站公司哪家好
  • 网站架构演变过程今天最新新闻10条
  • 凡客网站做SEO能被收录吗seo排名优化是什么意思
  • 常用的网站制作一键优化下载安装
  • 怎么开网站 第一步怎么做b2b网站大全
  • 公司建设网站的请示个人建网站的详细步骤
  • onedrive 做网站静态抖音seo是什么
  • 鲸影视官方网站下载seo人才