自动化测试技术在Web EDI系统中的应用

发表于:2015-1-26 11:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蒋 铭    来源:51Testing软件测试网原创

分享:
  图3是生成的订单XML文件导入SupplyOnline平台的类图。
  
图3 XML文件导入SupplyOnline
  VastPOImport类继承一个公共文件导入接口FileImport,封装上层导入方法及具体实现。
  方法中只要使用函数importFiles.setFolderPath,就可以通过相对或绝对路径导入XML文件,如importFiles.setFolderPath ("D:\\Projects\\VAST\\xml\\Batch_VastPOdaily_novmi.xml");只要替换不同订单信息的XML文件,就可以实现大批量订单数据的导入功能。
  图4是订单批量创建并导入SupplyOnline平台实现的实例,有了这些订单信息,可以进行订单信息的查询和确认,以备后续ASN交货流程中使用。通过修改订单类型、物料描述等参数信息生成的不同XML文件,利用复用测试方法和脚本,完成看板订单和闭口订单信息在平台上的数据创建与导入。
  
图4 SupplyOnline平台日程订单列表
  3.2 验证信息
  数据创建、导入到平台后,如何从海量的信息中获所需要的有用信息,包括对海量信息的分析、搜索、数据整合、报告生成和系统维护等,都是非常大的挑战。
  这里仅需针对生成的数据进行正确性验证。如图4所示,点击"下载Excel"按钮,可以生成CSV格式的文件进行保存。最初原始报文信息其实已经转换成了通俗易懂、便于浏览的订单信息列表。和批量创建数据一样,我们可以用openCSV.jar包中的方法函数来识别CSV文件内容,对数据进行比对,验证其正确性。
  下文是读取已下载的CSV文件的部分代码。
  public static void VerifyData(String args1, String args2) {
  ……
  CSVReader cr = new CSVReader(new FileReader(csv));
  String[] nextline;
  // 把一行数据分割成多个字段
  int i = 0;
  // 读取直到最后一行
  while ((nextline = cr.readNext())!= null){
  if (nextline[i].toString().contains("aaaa")){
  System.out.println("Data is correct.");
  ……
  }
  while (!(nextline[i].toString().contains("partNO"))){
  i++;
  }
  }
  ……
  }
  args1, args2是传入的参数变量,分别定义数据信息字段和其对应数值。通过循环语句readNext())!= null对逐行扫描CSV文件数据,进行遍历查询,若找到对应的数据信息,记录其数组ID,对比该列下所有的数值,验证是否与系统返回的结果一致,最后完成CSV文件与XML文件中订单数据的匹配和确认。
  4、自动化测试应用
  4.1 搭建自动化框架
  实现基本功能的方法后,可以搭建自动化测试框架来进行自动化测试工作。创建的数据、编写的脚本,这些测试资产具有非常大的重复利用价值。结合自动化测试框架,可以把工作效率最优化,节省重复操作的成本。对于大数据系统更加需要自动化脚本来实现数据创建、查询和验证。
  很多测试工程师都在尝试在自动化测试架构上有所建树。基于Web应用系统的自动化测试框架包括自动化测试理论的研究,Web页面元素及HTML语法分析等[7],而丰富的自动化测试工具也给测试工程师提供了更多的选择。
  由于SupplyOnline是基于Java开发,Oracle为数据库的系统平台,从节省测试工具成本来说,当今流行的商业工具HP QuickTest Professional,LoadRunner暂不考虑,选择支持JAVA的开源环境来搭建自动化测试框架,是不错的想法[8]。目前开源自动化测试工具主要包括Selenium、WebDriver、Maven、TestNG、JUnit等。最终选择了Eclipse下搭建Selenium WebDriver、Maven和TestNG的自动化测试环境。
  WebDriver就是基于Selenium的一个自动化测试类库,但它不再是运行在浏览器内的JS程序,而是自己可以控制浏览器。旨在改进Selenium中出现的诸多问题,并且提供了非常易用、可读性很强的API[9]。WebDriver技术使得读取Web页面元素对象更加方便,使用Webdriver不要求你把一门语言研究的多精通,你只要知道语法,和常用的包,常用的类,常用的方法就足够。Maven是基于项目对象模型(POM),可以通过一段描述信息来管理项目的构建,报告和文档的软件项目管理工具。可以作为Java编程项目的标准构建工具。TesgNG全称Testing Next Generation,即下一代测试技术,是一个设计用来简化广泛测试需求的测试框架,既可以做单元测试,也可以做集成测试。相比JUnit,它更灵活、强大,创新、可扩展性较好。
  图5简单表明了Selenium在用户接口层和数据库层的工作原理。
  
图5 Web页面元素的自动化验证过程
  版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号