问:最近忙什么呢?
答:我去,别提了。领导给安排了个任务,让搞个网页页面给测试人员使用,还是Jsp的页面,测试人员输入数据以表单的方式提交给服务端接口,调用成功后在新页面生成输入报文和返回报文。
问:你们后端接口没用Swagger么?测试不会用Postman么?
答:我哪里知道...
于是就开始了枯燥写页面,拼报文,写后端代码...感觉像是直观的实现网页版postman的一个任务...
遇到的坑:
首先是JDK8和Tomcat6不兼容问题,当时电脑上只有tomcat6,此时只能打开html页面,jsp直接404,换了tomcat8之后就好了,最低版本也得是tomcat7!
后端拼的是Xml格式的报文,我直接用的StringBuffer拼的,当然,使用dom4j的Document类也可以。
因为是在公司电脑写的代码,所以就阐述一下过程吧!
前端
1、首先是写个index.html页面,然后写个table,用td表格的方式呈现要测试的功能的页面。
2、然后就是写个jsp页面,里面放的是要输入参数的一个表单,以post方式提交。action中对应的是点击提交后的页面。
3、最后写的页面就是提交后,展示输入报文和返回报文的页面。输入报文是前端拼接的xml报文,返回报文是接口返回的报文。
后端
1、要拼接报文并且调用接口,首先需要拿到request中的前端输入的参数吧,所以先字段 = request.getParam(“”),拿到input框中输入的值。
2、定义一个类,其中写一个http请求的方法
URL url = new URL("123.123.123.123”);//请求地址 Connection httpConn(HttpURLConnection) url.openConnection();//实例化Http类 OutputStream outObject = httpConn.getOutputStream();//调用后发送HTTP请求 new InputStreamReader(httpConn.getInputStream(),"utf-8");//获取响应数据
3、用StringBuffer拼接报文,然后调用toString方法后,传给后端写好的http方法。
4、最后就是在页面中显示返回报文了!
很简单的一个例子,如果项目集成了Swagger或者会Postman的话,就大可不必这样了。不过对于不会使用的业务人员来说,写个页面用于测试也未尝不可。