如何使用HttpUnit进行上传文件测试

简介:
例子代码
String sip_appkey = "test_app003";// app_id
  String sip_apiname = "alitest.ali-001-upload";
  String sip_appsecret = "secret_app003";
  String sessionid = "sddddeee";
  String url = prepareUrl(sip_appkey, sip_apiname, sip_appsecret,
    api_server, sessionid);
  WebConversation conversation = new WebConversation();
  //if use src_url,code will jump SIP
  PostMethodWebRequest request = new PostMethodWebRequest(url);
  
  request.setMimeEncoded(true);
  File f=new File(filein_path);
  UploadFileSpec[] ufs = {new UploadFileSpec(f,"image/gif")}; 
  request.setParameter("image[file]", ufs);
    
  WebResponse resp = conversation.getResponse(request);
     System.out.printf("%s\n", resp.getText());
    
    try{
     byte[] buf = new byte[1024];
     OutputStream bufferOut = new BufferedOutputStream(new FileOutputStream(fileout_path));
     InputStream respis = resp.getInputStream();
        int numRead = 0;
        do {
          numRead = respis.read(buf, 0, buf.length);
          if (numRead > 0) {
           bufferOut.write(buf, 0, numRead);
          }
        } while (numRead >= 0);
     bufferOut.flush();
     bufferOut.close();
     System.out.printf("Src file's MD5 is %s\nRecevied file's MD5 is %s\n.",getHash(filein_path,"MD5"),getHash(fileout_path,"MD5"));
     //uoload will fail when SIP limit 0KB
     switch(assertequal){
      case 0:assertTrue(!getHash(filein_path,"MD5").equals(getHash(fileout_path,"MD5")));break;
      case 1:assertTrue(getHash(filein_path,"MD5").equals(getHash(fileout_path,"MD5")));break;
      default :break;
     }
    }
    catch(IOException e){System.out.printf("%s",e.getMessage());}
 
关键特性:在上传的时候需要设置如下代码
  request.setMimeEncoded(true);
 

本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/282634,如需转载请自行联系原作者
相关文章
|
6月前
|
前端开发 Java Spring
RuoYi-Vue 在Swagger和Postman中 上传文件测试方案
RuoYi-Vue 在Swagger和Postman中 上传文件测试方案
108 0
|
Java 开发者 Spring
FastDFS 测试-上传文件的测试| 学习笔记
快速学习 FastDFS 测试-上传文件的测试。
292 0
FastDFS 测试-上传文件的测试| 学习笔记
|
4天前
|
网络协议 安全 测试技术
性能工具之emqtt-bench BenchMark 测试示例
【4月更文挑战第19天】在前面两篇文章中介绍了emqtt-bench工具和MQTT的入门压测,本文示例 emqtt_bench 对 MQTT Broker 做 Beachmark 测试,让大家对 MQTT消息中间 BenchMark 测试有个整体了解,方便平常在压测工作查阅。
133 7
性能工具之emqtt-bench BenchMark 测试示例
|
4天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
31 0
|
4天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
4天前
|
测试技术
如何管理测试用例?测试用例有什么管理工具?YesDev
该文档介绍了测试用例和测试用例库的管理。测试用例是描述软件测试方案的详细步骤,包括测试目标、环境、输入、步骤和预期结果。测试用例库用于组织和管理这些用例,强调简洁性、完整性和可维护性。管理者可以创建、删除、重命名用例库,搜索和管理用例,以及通过层级目录结构来组织用例。此外,还支持通过Excel导入和导出测试用例,以及使用脑图查看用例关系。后台管理允许配置全局别名,如用例状态、优先级和执行结果。
|
4天前
|
机器学习/深度学习 人工智能 运维
深入探索软件测试:策略、工具与未来趋势
【5月更文挑战第14天】在软件开发的生命周期中,测试环节扮演着至关重要的角色。它不仅保证产品能够达到预定的质量标准,还有助于提前发现并修复潜在的缺陷,从而减少维护成本和提高用户满意度。本文将深入探讨当前软件测试领域的最佳实践,包括测试策略的制定、工具的选择以及面对快速变化的技术环境如何保持测试活动的前瞻性和灵活性。通过分析自动化测试、性能测试和安全测试等关键领域,本文旨在为读者提供一个全面的软件测试指南,同时对未来的发展趋势进行预测。
|
4天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
28 0
|
4天前
|
测试技术 API
探索软件测试中的自动化工具与挑战
本文探讨了软件测试领域中自动化工具的应用与挑战。通过分析目前主流的自动化测试工具,探讨了其在提高测试效率、减少人工成本、增强测试覆盖率等方面的优势。然而,自动化测试也面临着诸如脆弱性、维护成本高等挑战。最后,提出了一些应对挑战的建议,以期为软件测试领域的自动化工作提供一些启示。
16 1
|
4天前
|
机器学习/深度学习 人工智能 测试技术
提升软件测试效率与准确性的策略与工具
【5月更文挑战第2天】 在软件开发生命周期中,测试阶段是确保产品质量的关键。然而,传统的测试方法往往耗时且容易出错。本文将探讨一系列现代软件测试策略和工具,旨在提高测试效率和准确性。我们将分析自动化测试框架、持续集成(CI)、测试驱动开发(TDD)以及人工智能(AI)在测试中的应用,并讨论如何结合这些技术和方法来优化测试流程。

热门文章

最新文章