在用了一段selenium建工程的时候,大家会发现要维护两个以上的工程(本地自己码的,三楼服务器的,正式平台的)这个时候会觉得每次本地码完后放到三楼服务器jenkins上测试,或者正式平台,老是要修改selenium的构造函数的函数的参数serverHost和browerURL,或者其他需要参数化的东西,比如webreader中正式平台和sharepoint平台作为下载成功的标志是不同的,然后我们还想平台不同,给的加载时间给也不同,非常麻烦!!
selenium = new DefaultSelenium("localhost", 4444, "*chrome","http://webreader.foxitcloud.com/");
思路把这些全部参数化了,那么testCase的那个java文件就保持一致了。
1、在工程上新建一个parameterSet的java类文件。
以selenium-Localhost下,然后把三个环境中不同的参数,每次都要改来改去的东西全部抽取出来变成一个变量。
package com.foxit.webreader;
public class parameterSet {
private String browerURL="http://192.168.1.167/my/_layouts/Foxit.WebReader.Sharepoint/";
private String sucTag="PageBGImgHandler";
private String serverHost="192.201.108.241";
private int limitTime=1;
public parameterSet() {
// TODO Auto-generated constructor stub
}
public String getBrowerURL(){
return browerURL;
}
public String getSucTag(){
return sucTag;
}
public String getServerHost(){
return serverHost;
}
public int getLimitTime(){
return limitTime;
}
}
2、在testCase的java文件中把要参数化的地方全部参数化掉。
比如每个人录制后都有的一个new的selenium对象。在@before前new我们在1步骤中新建的class对象。
parameterSet paramSet=new parameterSet();
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium(paramSet.getServerHost(), 4444, "*chrome",paramSet.getBrowerURL());
selenium.start();
}
三、每个工程都维护自己的一个这样的参数集,在新建一次以后,后续就不用再修改了。