testng多浏览器支持(二)将系统中的文件放入配置文件中进行读取

来源:互联网 发布:js控制浏览器最小化 编辑:程序博客网 时间:2024/04/23 17:12

这次修改的目的是将一些公用的配置项放入配置文件中,代码移植到另外的机器上只要对配置文件进行修改,而不需要对代码进行修改。

-------

package test;import java.util.ArrayList;import org.testng.annotations.Test;import org.testng.annotations.BeforeClass;import org.testng.annotations.AfterClass;public class Baidu {  @Test  public void test() {ArrayList list=new ArrayList();list.add("ie");list.add("chome");list.add("Firefox");ChooseBrowser chooseie = new ChooseBrowser();chooseie.chooseBrowser(list);System.out.println(chooseie); }  @BeforeClass  public void beforeClass() {  }  @AfterClass  public void afterClass() {  }}


package test;import java.util.List;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.ie.InternetExplorerDriver;public class ChooseBrowser {private ReadIeDriver readDriver = new ReadIeDriver();public String chooseBrowser (List  chooseie ){if (chooseie==null){System.out.println("error!");}else{for(int i=0;i<chooseie.size();i++){String ch=chooseie.get(i).toString();if ("ie".equalsIgnoreCase(ch)){System.setProperty("webdriver.ie.driver",readDriver.getProperties("iedriver"));    WebDriver dr =new InternetExplorerDriver();    dr.get("http://www.baidu.com");    dr.findElement(By.id("kw")).sendKeys("51testing");    dr.findElement(By.id("kw")).submit();    dr.close();}else if ("chome".equalsIgnoreCase(ch)){System.setProperty("webdriver.chrome.driver",readDriver.getProperties("chromedriver"));WebDriver dr = new ChromeDriver();    dr.get("http://www.baidu.com");        dr.findElement(By.id("kw")).sendKeys("51testing");    dr.findElement(By.id("kw")).submit();    dr.close();}else if ("Firefox".equalsIgnoreCase(ch)){WebDriver dr = new FirefoxDriver();    dr.get("http://www.baidu.com");        dr.findElement(By.id("kw")).sendKeys("51testing");    dr.findElement(By.id("kw")).submit();    dr.close();}else{System.out.println("错误的浏览器");}}}return "";}}

--读配置文件

package test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Properties;public class ReadIeDriver {public String getProperties(String key) {FileInputStream f = null;try {f = new FileInputStream("E:\\testworkspace\\test\\src\\test\\iedriver.properties");} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}Properties p = new Properties();try {if (f != null) {p.load(f);}} catch (IOException e1) {e1.printStackTrace();}String driver = p.getProperty(key);return driver;}}


--配置文件内容
iedriver=D:\\software\\Selenium\\webdriver\\IEDriverServer.exechromedriver=D:\\software\\Selenium\\webdriver\\chromedriver.exe