2013-05-21 13 views
9

Mam skonfigurowany grid w moim systemie i napisałem mój skrypt testowy. Mogę uruchomić mój test na dowolnym systemie operacyjnym i dowolnej przeglądarce, ale tylko na jednym systemie operacyjnym i jednej przeglądarce jednocześnie nie wszystkie systemy operacyjne i wszystkie przeglądarki jednocześnie. Oto, co zrobiłem. Proszę mi powiedzieć, jak mogę to skonfigurować, aby mógł działać w skonfigurowanym systemie operacyjnym za jednym razem.Wykonywanie testów Równolegle na różnych systemach operacyjnych i przeglądarkach z WebDriver przy użyciu Javy i TestNG

mój skrypt przy użyciu języka Java jest poniżej:

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

Czy można uruchomić test jednocześnie w FF, Chrome i IE w WebDriver bez Selenium-Grid? Więcej szczegółów, mam test "Zaloguj się". Chcę uruchomić ten test jednocześnie w Firefox, Chrome i IE. Jak mogę to zrobić? –

Odpowiedz

4

Aditya,

Kod (testng.xml) do prowadzenia testu równoległego w systemie innym różny i tym samym powinna być jak poniżej:

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" 

Mam nadzieję, że teraz jesteś całkiem czysty.

0

Tester podejście:

  • Dodać badanie było runnable jako niezależny .jar pliku. Co oznacza, że ​​test nie będzie w rzeczywistości @Test, ale niektóre metody lub fragment kodu wewnątrz metody main
  • : Jeśli możesz, uruchom węzły w tym samym koncentratorze. Można to zrobić, jeśli komputery znajdują się w tej samej sieci i można uzyskać do nich dostęp.
  • Jeśli można to zrobić, po prostu uruchom plik .jar dwa razy, informując go, gdzie Huib jest i węzły zostaną przypisane automatycznie
  • Jeśli nie można tego zrobić, trzeba będzie wdrożyć te .jar plików na każde komputer (węzeł) i uruchomić je (potrzebne są dwie osoby w większości przypadków)

Przykład:

Mój własny komputer ma adres IP 10.131.7.11 wewnątrz sieci lokalnej. Więc będę uruchomić piastę a każdy węzeł będzie po prostu to zrobić:

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 

Gdy węzły są uruchomione, będę uruchomić test dwukrotnie. Koncentrator automatycznie przydzieli przeglądarkę do konkretnego węzła.

podejście programu:

  • można wykorzystać wielowątkowość i uruchom test raz w dwóch wątkach.

Ale ponieważ jestem testerem, używam pierwsze podejście :) I nie komunikują się z naszych programistów, którzy pomogli mi stworzyć wielowątkowość zestawu testowego, który jest idiota dowód (testowane na siebie :))

+0

stary to nie jest rozwiązanie. to łatanie z problemem. – Aditya

+0

Przepraszam, człowieku ... najlepszy, jaki mogłem znaleźć sam ... –

0

Dobrze , utwórz kolejny znacznik <test> i przekaż drugą przeglądarkę jako parametr dla drugiego testu. Możesz zmienić równolegle do testów lub używać klas. Również jeśli chcesz mieć różne systemy operacyjne, musisz mieć również parametr Platforma, aby wysłać je z xml.

+0

Niharika, jeśli się nie mylę, to tag zostaje wykonany jeden po drugim (jeden po drugim). Selenium nie będzie wykonywać razem wszystkich tagów . Jeśli źle Cię zrozumiałem, popraw plik testng.xml, aby uzyskać czytelny obraz Twojej odpowiedzi. – Aditya

+0

Możesz wstawić parallel = tests w tagu pakietu, co oznaczałoby, że wszystkie testy będą wyzwalane równolegle. Selenium nie wykonuje testów, jest to testng, który wykonuje to zarządzanie –

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"); 
    } 
} 

Oto przykład.

Powiązane problemy