《精通自动化测试框架设计》—第2章 2.3节测试数据交互基本方法

  • 时间:
  • 浏览:2

2.3.2使用操作系统的环境变量

环境变量,简单来讲,对于Windows操作系统,刚刚在系统属性→高级→环境变量中设置的变量。对于一些全局的测试数据,如数据库连接参数、第三方类库文件位置等,能只能考虑通过环境变量来传递。

读者能只能运行下面这段任务管理器来了解System.getenv()的用法,并和前一小节中的输出进行比较,了解系统属性参数和环境变量的具体区别。

从结果上看,Excel趋于稳定着最大的份额,可见MS Office系列的成功;而直接内嵌以及XML紧随其后,有着20%上下的占比。居中的则是属性文件交互以及CSV交互刚刚相对更专业的法律法律法律依据。数据库交互则以 3%只能的份额差点垫底,估计在日益追求轻量化的今天,数据库这人 “重”的法律法律法律依据也逐渐被一帮人 所摒弃。

这里刚刚列举了一些简单的读取法律法律法律依据,供初学的读者进行了解。在第 3 章中将介绍Solvent框架的整体避免方案怎么综合使用各类型数据交互法律法律法律依据满足各种测试框架的需求。

属性文件中的属性值也是采用这人 法律法律法律依据保存数据。操作属性文件,机会牵涉到文件,很多首先时要为Properties类提供另一个 读写流。Properties用于读写属性文件的法律法律法律依据分别是:

System.setProperty("BROWSER___TYPE", "firefox");

介绍完了在代码中的设置与获取,再介绍下怎么在Java系统让属性信息能只能在命令行、IDE环境机会Ant中将少量的变量数据传递给JVM。

Key=value

读者机会感兴趣,能只能通过以上这3种法律法律法律依据来运行下面这段代码。

2.3 测试数据交互基本法律法律法律依据

本节将介绍几种常用的数据交互的法律法律法律依据,并就以上那此数据类型,根据个人的来源与使用场景,取舍较为离米 的避免法律法律法律依据。在实践中,读者能只能根据适合自身框架的特点有针对性地加以改造。

2.3.3 使用属性文件

前面介绍的这人 法律法律法律依据,一般适合于框架中所使用的属性为个位数的状况。随着测试僵化 性的增强,测试用例数量也呈几何级数增长。这刚刚,你机会时要这人 更灵活、更有效的数据存储和交换的法律法律法律依据,那刚刚Java的属性文件。操作属性文件的法律法律法律依据嘴笨 和操作系统属性很类式,都能只能使用包java.util.Properties中提供的类。细心的读者机会机会发现,前面这人 法律法律法律依据嘴笨 数据来源不一样,但嘴笨 有的是在利用同这人 数据格式:

在刚开使刚刚,首先介绍下在国内领先的问卷调查网站问卷星上做的另一个 软件自动化测试问卷调查(http://www.sojump.com/jq/3569220.aspx)中一道有关测试数据题目的调查结果,如图2.2所示。

命令行中最简单的刚刚使用标准的命令行选项"-Dpropertyname=value",如:

< syspropertykey="browser.type" value="firefox"/ >

而在像Eclipse 刚刚的IDE,能只能直接在运行配置中设定,如图2.3所示。

本节书摘来自异步社区《精通自动化测试框架设计》一书中的第2章,第2.3节测试数据交互基本法律法律法律依据,作者陈冬严 , 邵杰明 , 王东刚 , 蒋涛,更多章节内容能只能访问云栖社区“异步社区”公众号查看。

public static final String USER__HOME= System.getProperty("user.home");

类式地,System.setProperty(key, value)和System.setProperties(props)能只能用来设定系统属性。譬如,下面这人 语句就把属性值“firefox”赋给自定义的系统属性BROWSER_TYPE。

Java -DBROWSER_TYPE=firefox class

在Ant中能只能使用子单元直接传递。

2.3.1 使用Java的系统属性Java在包java.lang.System中提供了一些标准的系统属性。那此信息能只能用于取舍用例执行法律法律法律依据,机会记录运行环境。读者能只能通过运行下面这人 例子来了解那此属性。

importjava.util.Iterator;
importjava.util.Properties;
public classSysProp {
   public static void main(String args[]) { 
     Properties props=System.getProperties(); 
     Iteratoriter=props.keySet().iterator(); 
     while(iter.hasNext()) { 
       String key=(String)iter.next(); 
       System.out.println(key+" = "+ props.get(key)); 
     }
   }
}

机会时要获得某一特定的系统属性,能只能通过法律法律法律依据String java.lang.System.getProperty(String key)来完成。譬如下面这段代码获得了用户的根目录,并赋值给变量USER_HOME。

当然,上述数据刚刚该次调查的结果,供一帮人 在方案选型时做参考。最关键的是读者结合自身项目的实际状况,取舍适合的数据交互法律法律法律依据。

它们运行后,应该能获得一致的运行结果。