2013-05-21 13 views
9

Ho configurato la griglia nel mio sistema e scritto il mio script di test. Posso eseguire il test su qualsiasi sistema operativo e browser, ma solo su un sistema operativo e un browser in una volta, non tutti i sistemi operativi e tutti i browser contemporaneamente. Ecco cosa ho fatto. Per favore dimmi come posso configurarlo in modo che possa essere eseguito nel sistema operativo configurato in una volta.Esecuzione di test contemporaneamente su diversi SO e Browser con WebDriver utilizzando Java e TestNG

mio script utilizzando Java è qui sotto:

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(<span class="IL_AD" id="IL_AD11">new URL</span>("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 <span class="IL_AD" id="IL_AD7">Grid with</span> webdriver" verbose="3" parallel="classes" thread-count="2"> 
    <test name="Selenium Grid Demo"> 
    <parameter name="browser" value="iexplore"/> 
    <classes> 
     <class name="tests.GridWithWebdriver"/> 
     <class name="tests.GridWithWebdriver1"/> 
    </classes> 
</test> 
</suite> 
+0

È possibile eseguire un test contemporaneamente in FF, Chrome e IE in WebDriver senza Selenium-Grid? Maggiori dettagli, ho un test "Login". Voglio eseguire questo test in Firefox, Chrome e IE contemporaneamente. Come posso fare questo? –

risposta

4

Aditya,

vostro codice (testng.xml) per l'esecuzione di test parallelo sul sistema differente-diverso o lo stesso dovrebbe essere come di seguito:

TestNG.xml

<!DOCTYPE suite SYSTEM "Http://testng.org/testng-1.0.dtd"> 
    <suite name="My Sample Suite" verbose="3" parallel="tests" thread-count="2"> 


     <test name="Run on Firefox"> 
     <parameter name="mybrowser" value="firefox"/> 
     <parameter name="myip" value="http://172.16.10.119:5566/wd/hub"/> 
     <classes> 
      <class name="testcases.Login"/> 
     </classes> 
    </test> 
    <test name="Run on Chrome"> 
     <parameter name="mybrowser" value="chrome"/> 
     <parameter name="myip" value="http://172.16.10.106:5567/wd/hub"/> 
     <classes> 
      <class name="testcases.Login"/> 
     </classes> 
    </test> 
    </suite> 

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 <testsuite> tag as parallel="tests" thread-count="2" 

Spero che ora siate abbastanza chiari.

0

approccio Tester:

  • Fai il test per essere eseguibile come file indipendente .jar. Ciò significa che il test non sarà in realtà un metodo o codice all'interno del metodo main
  • Suggerimento Pro: Se possibile, eseguire i nodi sullo stesso hub. Questo può essere fatto se i computer si trovano nella stessa rete e puoi accedere a questi computer.
  • Se questo può essere fatto, sarà solo eseguire il file .jar due volte, dicendogli dove la Huib è, e nodi vengono assegnati automaticamente
  • Se ciò non può essere fatto, si dovrà distribuire questi .jar file su ogni computer (nodo) ed eseguirli (richiede due persone nella maggior parte dei casi)

Esempio:

il mio computer ha IP 10.131.7.11 all'interno della rete locale. Quindi correrò l'hube ogni nodo limito a fare questo:

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 

Una volta che i nodi sono in esecuzione, correrò il test due volte. L'hub assegnerà automaticamente i browser al nodo concreto.

approccio Developer:

  • è possibile utilizzare il multithreading ed eseguire il test una volta, in due thread.

ma dato che sono tester, io uso il primo approccio :) E mi ha comunicato con i nostri sviluppatori che mi hanno aiutato a creare suite di test multithreading che è a prova di idiota (testato su me stesso :))

+0

amico questa non è una soluzione. questo è un problema con il patch. – Aditya

+0

scusa, amico ... il migliore che ho potuto trovare da solo ... –

0

Bene , crea un altro tag <test> e passa l'altro browser come parametro per il secondo test. Potresti voler cambiare parallelo ai test o continuare a usare le classi. Inoltre, se si desidera avere sistemi operativi diversi, è necessario che anche il parametro piattaforma sia inviato dall'xml.

+0

Niharika, se non sbaglio, il tag viene eseguito uno dopo l'altro (uno dopo l'altro). Il selenio non eseguirà tutti i tag insieme. Se ti ho frainteso, per favore correggi il mio file testng.xml in modo da poter ottenere un'immagine chiara della tua risposta. – Aditya

+0

Puoi mettere parallel = tests nel tuo tag suite, il che significherebbe che tutti i test verrebbero innescati in parallelo. Il selenio non sta eseguendo i test, è testng che fa quella gestione –

0
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<WebDriver> drivers = new ArrayList<WebDriver>(); 
     List<String> usernames = new ArrayList<String>(); 
     List<String> passwords = new ArrayList<String>(); 
     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"); 
    } 
} 

Ecco un esempio.

Problemi correlati