testNg自动化,读取excel的数据

发表于:2018-7-31 15:36

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

 作者:米蓝    来源:博客园

  3、用例类
  用例类有3个属性,分别是参数,用例说明,预置参数。
  package com.milan.utils;
  import java.util.Map;
  public class CaseInfo {
  ///{$d}isexcute 为y的时候表示需要执行
  //用例参数 在excel中知己以字段名开头
  private Map<String,String> caseParam;
  //用例说明 在excel中以{$d}开头
  private Map<String,String> caseDesc;
  //用例预置条件 在excel中以{$p}开头
  private Map<String,String> casePreset;
  public Map<String, String> getCaseParam() {
  return caseParam;
  }
  public void setCaseParam(Map<String, String> caseParam) {
  this.caseParam = caseParam;
  }
  public Map<String, String> getCaseDesc() {
  return caseDesc;
  }
  public void setCaseDesc(Map<String, String> caseDesc) {
  this.caseDesc = caseDesc;
  }
  public Map<String, String> getCasePreset() {
  return casePreset;
  }
  public void setCasePreset(Map<String, String> casePreset) {
  this.casePreset = casePreset;
  }
  }


  4、运行
  
  package com.milan.test;
  import java.io.IOException;
  import java.util.List;
  import java.util.Map;
  import org.testng.annotations.DataProvider;
  import org.testng.annotations.Test;
  import com.milan.utils.CaseHelper;
  import com.milan.utils.CaseInfo;
  import com.milan.utils.ReadExcel;
  public class MyTest {
  protected String caseExcelPath =System.getProperty("user.dir")+"\\excel\\temp.xlsx";
  @DataProvider(name = "dataInfo")
  protected Object[][] dataInfo1() throws IOException {
  Object[][] myObj = null;
  List<Map<String, String>> list = ReadExcel.readXlsx(caseExcelPath);
  myObj = CaseHelper.getObjArrByList(list);
  return myObj;
  }
  @Test(dataProvider="dataInfo")
  public void testByExcel_Body(CaseInfo c) throws IOException{
  ///获取用例说明
  System.out.println(c.getCaseDesc());
  ///获取用例需要的参数
  System.out.println(c.getCaseParam());
  //获取执行用例需要的前置条件
  System.out.println(c.getCasePreset());
  }
  }

  5、输出结果:
  {caseExpect=1, isexcute=y, caseDesc=发送消息}
  {sendname=发送者名称, send=发送消息}
  {login=登录字符串}
  读取到excel的值之后,就可以自己加断言,自己去请求数据调方法等等。
  testng断言失败,继续执行 http://blog.csdn.net/m1011566442/article/details/52084896
  testng代码执行  https://www.cnblogs.com/digod/p/6035177.html
  public class Test2 {
  public static void main(String[] args) {
  //DefaultTest defaultTest = new DefaultTest();
  TestNG testNG = new TestNG();
  testNG.setTestClasses(new Class[]{DefaultTest.class});
  testNG.run();
  }
  }

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号