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

往网站上做新东西需要什么威海哪家网站做的好

往网站上做新东西需要什么,威海哪家网站做的好,公司注册资金实缴政策最新,房屋中介网站模板本文通过实例来讲解如何通过HttpUnit来对web应用进行测试,尤其是当下Ajax越来越流行的情况下,http request和response交互频繁,里面传输的内容也以Json或者XML为主,用HttpUnit结合JUnit来做测试可以带来很多好处,甚至是在web页面还不存在的情况下,通过模拟http请求,包括模拟上传… 本文通过实例来讲解如何通过HttpUnit来对web应用进行测试,尤其是当下Ajax越来越流行的情况下,http request和response交互频繁,里面传输的内容也以Json或者XML为主,用HttpUnit结合JUnit来做测试可以带来很多好处,甚至是在web页面还不存在的情况下,通过模拟http请求,包括模拟上传文件,就可以用来测试服务端的servlet,action(有httprequest参数)等代码. JAVA实例代码 HTTPStub :包装了HttpUnit提供的一些类,同时在初始化的时候做login验证,WebConversation会维护session的信息. public class HTTPStub { private WebConversation httpConversation; private PostMethodWebRequest httpRequest; public HTTPStub() { httpConversation new WebConversation(); String urlLogin EnvConstant.SERVER_CTXT EnvConstant.SERVER_LOGINURL; GetMethodWebRequest getReq new GetMethodWebRequest(urlLogin); try { httpConversation.getResponse(getReq); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (SAXException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } public void initHttpRequest(String url) { httpRequest new PostMethodWebRequest(EnvConstant.SERVER_CTXT url, true); } public void setParameter(String name, String value) { httpRequest.setParameter(name, value); } public void setFile(String Filename) { InputStream inputStream FileUtil.readFromdefaultClspath(Filename); httpRequest.selectFile(dumyfile, dumyfile.csv, inputStream, text/plain); } public WebResponse getHttpResponse() { try { return httpConversation.getResponse(httpRequest); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public String getHttpResponseContents() { try { WebResponse resp httpConversation.getResponse(httpRequest); StringBuffer strbf new StringBuffer(); BufferedReader in new BufferedReader(new InputStreamReader(resp.getInputStream())); String str; while ((str in.readLine()) ! null) { strbf.append(str); } in.close(); return strbf.toString(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } } 对inputstream处理的一个util类: public class FileUtil { public static InputStream readFromdefaultClspath(String fileName) { InputStream stream ClassLoader.getSystemResourceAsStream(fileName); return stream; } public static String getContentsFromFile(String fileName) { InputStream stream readFromdefaultClspath(fileName); StringBuffer strbf new StringBuffer(); try { BufferedReader in new BufferedReader(new InputStreamReader(stream)); String str; while ((str in.readLine()) ! null) { strbf.append(str); } in.close(); } catch (IOException e) { e.printStackTrace(); } return strbf.toString(); } } Junit测试类: public class ActionCopyBillTest { private HTTPStub httpStub; Before public void setUp() throws Exception { httpStub new HTTPStub(); } After public void tearDown() throws Exception { } Test public void testPerform() { httpStub.initHttpRequest(FrontController?commandCopyBill); httpStub.setParameter(bm_cb_dtCategory, Copy Bill Request); httpStub.setParameter(bm_cb_SRID, SR0001); httpStub.setParameter(bm_cb_ItemOpt, 2- Custom Itemisation); httpStub.setParameter(bm_cb_BillLanCode, ENG); httpStub.setParameter(bm_cb_LegendPrs, Copy Legend); httpStub.setParameter(bm_cb_BillStruct, Front Page Only); httpStub.setParameter(bm_cb_ItemThd, 1); httpStub.setParameter(bm_cb_BillMedia, Paper Bill); httpStub.setParameter(bm_cb_BillFormat, Blue Bill); httpStub.setFile(testdata/req/CopyBill_1.csv); String respContents httpStub.getHttpResponseContents(); String ritContents FileUtil.getContentsFromFile(testdata/rep/CopyBill_1.rsp); Assert.assertEquals(respContents, ritContents); } } 如果想对response进行验证,可以通过手工从html页面输入数据,提交请求,用工具(如eclipse带有的插件tcp/ip monitor)将response截取下来保存为文件,然后和junit测试的时候的response对比. 另外,返回的response也提供了一系列方法来操作其包含的内容: 1,如返回的是文本,可以通过resp.getText()获取,如果文本是json格式,可以再进一步构造成jsonobject来操作. String respContents resp.getText(); JSONObject json new JSONObject(respContents); System.out.println(json.getInt(total)); JSONArray arr json.getJSONArray(userdata); System.out.println(arr.get(0)); 2,如果返回的是XML(标准结构的html也是合法的XML),可以得到w3c 的document对象,resp.getDOM(); 3,如果返回的是html页面,WebResponse提供了一组类似于Javascript操作html dom的方法. resp.getElementWithID(id) resp.getTables(); ...
http://www.hkea.cn/news/14316155/

相关文章:

  • 国内一家做国外酒店团购的网站有想做企业网站建设
  • 网站托管 域名申请一个域名可以建设一个网站吗
  • 网站建设分期进行怎么入账上海装修公司咨询
  • 知乎做笔记的网站管理咨询的主体包括哪些
  • 网站开发职业生涯规划书wordpress开启伪静态找不到页面
  • 如何建立网站眼镜网站怎么做
  • wordpress 建网站 vpn哔哩哔哩网页版下载视频
  • 跨境网站入口苏州网站建设n苏州网站建设公司
  • 网站项目设计wordpress 收费版
  • 网站的制作步骤包括手机网站特点
  • 临沧网站建设临沧靖安县城乡规划建设局网站
  • 做php门户网站那个系统好网站建设流程资料
  • 模板网站建设价格wordpress 跨域请求
  • 赤峰做网站哪家好泰国房产网站大全
  • 东莞手机网站设计公司wordpress最新版底部版权
  • 棋盘网站开发推广产品最好的方式
  • wordpress建自己的网站wordpress 拉取点击数
  • 网站开发 售后服务协议个人主页页面
  • 百度竞价排名是以什么形式来计费的广告?宁波seo排名费用
  • 拼多多运营怎么做如何做网站的内链优化
  • 成品ppt的网站免费观看wordpress编辑文章很慢
  • 给人做网站能赚钱吗濮阳网站优化公司哪家好
  • 浙江移动网站建设制作基本建设工程兵网站
  • 海淀网站制作wordpress 电台主题
  • 广州站在哪个区开个做网站的公司 知乎
  • 十大品牌网seo搜索引擎实战详解
  • 哪些网站可以发布免费招聘信息金融类网站建设
  • 怎么做网站的登录界面集团公司做网站的好处有什么
  • 网站开发和oa有什么区别国外做名片的网站
  • 电子商务网站建设知识点总结linode wordpress 教程