使用Java和TestNG在WebDriver上同时在不同的操作系统和浏览器上执行测试

我在我的系统中配置了网格并编写了我的测试脚本。 我可以在任何指定的操作系统和任何浏览器上运行我的测试,但一次只能在一个操作系统和一个浏览器上运行,而不是所有操作系统和所有浏 这就是我所做的。 请告诉我如何配置它以便它可以在一次配置的OS中运行。

我使用Java的脚本如下:

import java.net.MalformedURLException; import java.net.URL; import org.junit.AfterClass; import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.*; public class GridWithWebdriver { public WebDriver driver; @Parameters({"browser"}) @BeforeClass public void setup(String browser) throws MalformedURLException { DesiredCapabilities capability=null; if(browser.equalsIgnoreCase("firefox")){ System.out.println("firefox"); capability= DesiredCapabilities.firefox(); capability.setBrowserName("firefox"); capability.setPlatform(org.openqa.selenium.Platform.ANY); //capability.setVersion(""); } if(browser.equalsIgnoreCase("iexplore")){ System.out.println("iexplore"); capability= DesiredCapabilities.internetExplorer(); capability.setBrowserName("iexplore"); capability.setPlatform(org.openqa.selenium.Platform.WINDOWS); //capability.setVersion(""); } driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); driver.navigate().to("http://google.com"); } @Test public void test_first() throws InterruptedException{ Thread.sleep(3000); WebElement search_editbox = driver.findElement(By.name("q")); WebElement search_button = driver.findElement(By.name("btnG")); search_editbox.clear(); search_editbox.sendKeys("first"); search_button.click(); } @Test public void test_second(){ WebElement search_editbox = driver.findElement(By.name("q")); WebElement search_button = driver.findElement(By.name("btnG")); search_editbox.clear(); search_editbox.sendKeys("second"); search_button.click(); } @AfterClass public void tearDown(){ driver.quit(); } } 

testng.xml文件:

 <suite name="Selenium Grid with webdriver" verbose="3" parallel="classes" thread-count="2">         

阿迪亚,

用于在不同或相同系统上运行并行测试的代码(testng.xml)应如下所示:

的testng.xml

                   here i am trying to acess one linux(ttp://172.16.10.119:5566) and one mac(http://172.16.10.106:5567) and sending its ip and browser as a parameter. To run it parallel i have mentioned in my  tag as parallel="tests" thread-count="2" 

我希望你现在很清楚。

测试方法:

  • 使您的测试可以作为独立的.jar文件运行。 这意味着测试实际上不是@Test而是main方法中的一些方法或代码片段
  • 专业提示 :如果可以,请针对同一个集线器运行节点。 如果计算机位于同一网络中,您可以访问这些计算机,则可以执行此操作。
  • 如果可以这样做,您只需运行.jar文件两次,告诉它huib的位置,并自动分配节点
  • 如果无法做到这一点,则必须在每台计算机(节点)上部署这些.jar文件并运行它们(在大多数情况下需要两个人)

例:

我自己的计算机在本地网络中有IP 10.131.7.11 。 所以我将运行集线器 ,每个节点将执行此操作:

 java -jar selenium-server-standalone-2.32.0.jar -role webdriver -hub http://10.131.7.11:4444/grid/register -port 7575 -browser browserName=firefox,version=18,platform=WINDOWS 

节点运行后,我将运行两次测试。 然后,集线器将自动将浏览器分配给具体节点。

开发方法:

  • 您可以使用multithreading并在两个线程中运行一次测试。

但由于我是测试人员,我使用的第一种方法:)我确实与我们的开发人员沟通,他们帮助我创建了multithreading测试套件,这是一个白痴certificate(在我自己测试:))

好吧,创建另一个标记并将其他浏览器作为第二个测试的参数传递。 您可能希望与测试并行更改或继续使用类。 此外,如果您想拥有不同的操作系统,那么您还需要从xml发送平台参数。

 package concore; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.InetAddress; import java.net.MalformedURLException; import java.net.URL; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import net.sourceforge.htmlunit.corejs.javascript.ast.WithStatement; import org.apache.commons.io.FileUtils; import org.openqa.selenium.By; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.net.INetAddress; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.support.ui.Select; public class ConcurrentTestSMS { public WebDriver dri = null; private File file; private FileOutputStream fos; String error = "http://ip/sspjuly08/Errorpage.aspx"; public long timeBefore; public long timeAfter; public long cal; public int drive; public ConcurrentTestSMS() { // Initializing file object file = new File("D:\\concorentTestingsmsLog.xls"); try { // Creating new file if it doesn't exist if (!file.exists()) { file.createNewFile(); } // Initializing file writer object fos = new FileOutputStream(file); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static String captureScreenshot(RemoteWebDriver drivers, String folder, String fileName) { File screenshotFile = ((TakesScreenshot) drivers) .getScreenshotAs(OutputType.FILE); File targetFile = new File(folder, fileName + ".png"); // File targetFile=new File("D:\\alagar.png"); try { FileUtils.copyFile(screenshotFile, targetFile); } catch (IOException e) { // logger.error ("Error while writing file ",e); } return targetFile.getAbsolutePath(); } // method to write the error file protected void writeToFile(String logMsg) { try { fos.write(logMsg.getBytes()); } catch (IOException e) { e.printStackTrace(); } } int num = 100903; int loaddata = 01; private WebDriver getDriver(String url, DesiredCapabilities caps) { WebDriver webDriver = null; try { webDriver = new RemoteWebDriver(new URL(url), caps); } catch (MalformedURLException e) { e.printStackTrace(); } return webDriver; } public void setup(String platform, String browser, String version, String url) throws MalformedURLException, InterruptedException, UnknownHostException { DesiredCapabilities caps = new DesiredCapabilities(); // Platforms if (platform.equalsIgnoreCase("WINDOWS")) caps.setPlatform(org.openqa.selenium.Platform.WINDOWS); System.out.println(org.openqa.selenium.Platform.WINDOWS); // Browsers if (browser.equalsIgnoreCase("Internet Explorer")) caps = DesiredCapabilities.internetExplorer(); if (browser.equalsIgnoreCase("Firefox")) caps = DesiredCapabilities.firefox(); if (browser.equalsIgnoreCase("iPad")) caps = DesiredCapabilities.ipad(); if (browser.equalsIgnoreCase("Android")) { caps = DesiredCapabilities.android(); } writeToFile("Client\tEvent Page\tTaken Time\n"); // Version caps.setVersion("18.0.1"); String[] urls = { "http://ipip:8989/wd/hub", "http://ip:8989/wd/hub" }; System.out.println(InetAddress.getLocalHost().getHostAddress()); // Remote systemS timeBefore = System.currentTimeMillis(); WebDriver driver1 = getDriver("http://172.21.1.89:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver1, "driver1 in http://172.21.1.89","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver2 = getDriver("http://172.21.1.4:8989/wd/hub", caps); System.out.println(InetAddress.getLocalHost().getHostAddress()); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver2, "driver2 in http://172.21.1.4","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver3 = getDriver("http://172.21.1.89:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver3, "driver3 in http://172.21.1.89","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver4 = getDriver("http://172.21.1.4:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver4, "driver4 in http://172.21.1.4","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver5 = getDriver("http://172.21.1.89:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver5, "driver5 in http://172.21.1.89","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver6 = getDriver("http://172.21.1.4:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver6, "driver6 in http://172.21.1.4","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver7 = getDriver("http://172.21.1.89:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver7, "driver7 in http://172.21.1.89","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver8 = getDriver("http://172.21.1.4:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver8, "driver8 in http://172.21.1.4","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver9 = getDriver("http://172.21.1.89:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver9, "driver9 in http://172.21.1.89","connecting client system", cal); timeBefore = System.currentTimeMillis(); WebDriver driver10 = getDriver("http://172.21.1.4:8989/wd/hub", caps); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver10, "driver10 in http://172.21.1.89","connecting client system", cal); List drivers = new ArrayList(); List usernames = new ArrayList(); List passwords = new ArrayList(); if (driver1 != null) { drivers.add(driver1); usernames.add("test"); passwords.add("test1"); } if (driver2 != null) { drivers.add(driver2); usernames.add("user1"); passwords.add("user1"); } if (driver3 != null) { drivers.add(driver3); usernames.add("user2"); passwords.add("user2"); } if (driver4 != null) { drivers.add(driver4); usernames.add("user3"); passwords.add("user3"); } if (driver5 != null) { drivers.add(driver5); usernames.add("user4"); passwords.add("user4"); } if (driver6 != null) { drivers.add(driver6); usernames.add("user5"); passwords.add("user5"); } if (driver7 != null) { drivers.add(driver7); usernames.add("user6"); passwords.add("user6"); } if (driver8 != null) { drivers.add(driver8); usernames.add("user7"); passwords.add("user7"); } if (driver9 != null) { drivers.add(driver9); usernames.add("user8"); passwords.add("user8"); } if (driver10 != null) { drivers.add(driver10); usernames.add("test"); passwords.add("test"); } for (WebDriver driver : drivers) { driver.get("http://172.21.1.4/sspjuly08/"); } System.out.println("OPENED ALL"); // Sending the UserName drive=0; for (int i = 0; i < drivers.size(); i++) { drive++; timeBefore = System.currentTimeMillis(); executeUsernameForAllURLs(urls, By.xpath("//*[@id='txtUserName']"), caps, drivers.get(i), usernames.get(i)); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(drivers.get(i), "driver"+drive+".... in "+drivers.get(i).getCurrentUrl().toString(),"Passing the username", cal); } drive=0; for (int i = 0; i < drivers.size(); i++) { drive++; timeBefore = System.currentTimeMillis(); executePasswordForAllURLs(urls, By.xpath("//*[@id='txtPassword']"), caps, drivers.get(i), usernames.get(i)); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(drivers.get(i), "driver"+drive+".... in "+drivers.get(i).getCurrentUrl().toString(),"Passing the password", cal); } drive=0; for (WebDriver driver : drivers) { drive++; try { timeBefore = System.currentTimeMillis(); executeClickForAllURLs(urls, By.xpath("//*[@id='imgLogin']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Clicking the Login button", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; try { timeBefore = System.currentTimeMillis(); executeClickForAllURLs( urls, By.xpath("//*[@id='ctl00_ContentPlaceHolder1_idImage']/table/tbody/tr[7]/td[1]/a/img"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Clicking the SMS module", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; try { timeBefore = System.currentTimeMillis(); driver.get("http://172.21.1.4/sspjuly08/Module/SMS/SMSBrowse.aspx"); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Open the SendSMS page", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Click the homework tab to send sms try { timeBefore = System.currentTimeMillis(); executeClickForAllURLs( urls, By.xpath("//*[@id='__tab_ctl00_ContentPlaceHolder1_tcPnlView_Homework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"click the HOmework tab to send the sms", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { // sending the value of Homework date drive++; try { timeBefore = System.currentTimeMillis(); SendHomeworkdateForAllURLs(urls, By.name("txtDate"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Sending the Homework date", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Click the class from the list try { timeBefore = System.currentTimeMillis(); executeClickForAllURLs( urls, By.xpath("//*[@id='txtDisplayClass']"), caps, driver); executeClickForAllURLs( urls, By.xpath("//*[@id='chkClass_0']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"click the class from the combo", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Click the go Button try { timeBefore = System.currentTimeMillis(); executeClickForAllURLs( urls, By.xpath("//*[@id='btnGo_B']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"click the Go button", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl02_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl03_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl04_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl05_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl06_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl07_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("/*[@id='gvHomework_ctl08_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl09_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl10_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for (WebDriver driver : drivers) { drive++; // Sending the homework through sms try { timeBefore = System.currentTimeMillis(); SendHomeworkDescriptionForAllURLs( urls, By.xpath("//*[@id='gvHomework_ctl11_txtHomework']"), caps, driver); timeAfter = System.currentTimeMillis(); cal = timeAfter - timeBefore; currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"Send the sms for the home work", cal); } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } drive=0; for(WebDriver driver:drivers){ drive++; //capturing the message try { String message="The Record has been successfully saved"; WebElement successmessage=dri.findElement(By.xpath("//*[@id='ctl00_ContentPlaceHolder1_lblMessage']")); if(successmessage.getText().toString().equalsIgnoreCase(message)){ currectpage(driver, "driver"+drive+".... in "+driver.getCurrentUrl().toString(),"The Record has been successfully saved", cal); } else{ writeToFile("The saved message is not shown "+drive+"\n"); } } catch (Exception e) { e.printStackTrace(); writeToFile("Error has been accured in client "+drive+"\n"); } } } public void executeUsernameForAllURLs(String[] urls, By by, DesiredCapabilities caps, WebDriver driver, String username) throws MalformedURLException { driver.findElement(by).sendKeys(username); } public void executePasswordForAllURLs(String[] urls, By by, DesiredCapabilities caps, WebDriver driver, String password) throws MalformedURLException { driver.findElement(by).sendKeys(password); } public void executeClickForAllURLs(String[] urls, By by, DesiredCapabilities caps, WebDriver driver) throws MalformedURLException { driver.findElement(by).click(); } public void ExcuteStudentClearValueForAllURLs(String[] urls, By by, DesiredCapabilities caps, WebDriver driver) throws MalformedURLException { driver.findElement(by).clear(); } public void SendHomeworkdateForAllURLs(String[] urls, By by, DesiredCapabilities caps, WebDriver driver) throws MalformedURLException { driver.findElement(by).sendKeys("01/08/2013"); } public void SendHomeworkDescriptionForAllURLs(String[] urls, By by, DesiredCapabilities caps, WebDriver driver) throws MalformedURLException { driver.findElement(by).sendKeys("test" + new Integer(num++).toString()); } public void SelectingthesubjectForAllURLs(String[] urls, By by, DesiredCapabilities caps, WebDriver driver) throws MalformedURLException { new Select(driver.findElement(by)).selectByVisibleText("ENGLISH"); } public void SendingtheClassForAllURLs(String[] urls, By by, DesiredCapabilities caps, WebDriver driver) throws MalformedURLException { new Select(driver.findElement(by)).selectByVisibleText("VI A"); } public void currectpage(WebDriver driver, String clintname, String EventPage, long timeTaken) { String page = driver.getCurrentUrl(); if (page.toString().equalsIgnoreCase(error.toString())) { errorpage(clintname); } else { writeToFile(clintname + "\t" + EventPage + "\t" + timeTaken+"\n"); } } public void errorpage(String clintname) { writeToFile(clintname + "\tShowing the runtime error\n"); } public static void main(String[] args) throws MalformedURLException, InterruptedException, UnknownHostException { ConcurrentTestSMS te = new ConcurrentTestSMS(); te.setup("WINDOWS", "Firefox", "18.0.1", "http://172.21.1.89:8989/wd/hub"); } } 

这是一个例子。