9

システムでグリッドを構成し、テスト スクリプトを作成しました。指定した任意の OS と任意のブラウザでテストを実行できますが、一度に 1 つの OS と 1 つのブラウザでしか実行できません。すべての OS とすべてのブラウザを同時に実行することはできません。これが私がやったことです。構成済みの 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(<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>
4

4 に答える 4

4

アディティア

異なるシステムまたは同じシステムで並列テストを実行するためのコード (testng.xml) は、次のようになります。

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"

私はあなたが今かなり明確であることを願っています。

于 2013-05-24T11:07:17.747 に答える
0

さて、別の<test>タグを作成し、2 番目のテストのパラメーターとして別のブラウザーを渡します。テストに並行して変更するか、クラスを使用し続けることができます。また、異なる OS が必要な場合は、プラットフォーム パラメータも xml から送信する必要があります。

于 2013-05-21T17:27:55.567 に答える
0

テスターのアプローチ:

  • テストを独立した.jarファイルとして実行できるようにします。つまり、テストは実際にはメソッドではなく、メソッドまたはメソッド@Test内のコードの一部になりますmain
  • プロのヒント: 可能であれば、同じハブに対してノードを実行します。これは、コンピューターが同じネットワークにあり、これらのコンピューターにアクセスできる場合に実行できます。
  • これができれば、.jarファイルを 2 回実行して、huib の場所を伝えるだけで、ノードが自動的に割り当てられます。
  • これができない場合は、これらの.jarファイルを各コンピューター (ノード) に展開して実行する必要があります (ほとんどの場合、2 人が必要です)。

例:

自分のコンピューターは、10.131.7.11ローカル ネットワーク内に IP を持っています。したがって、ハブを実行すると、各ノードは次のようになります。

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

ノードが実行されたら、テストを 2 回実行します。ハブは、ブラウザーを具体的なノードに自動的に割り当てます。

開発者のアプローチ:

  • マルチスレッドを使用して、テストを 2 つのスレッドで 1 回実行できます。

しかし、私はテスターなので、最初のアプローチを使用します:)そして、私は開発者と連絡を取り、ばかげた証明であるマルチスレッドテストスイートの作成を支援しました(自分でテストしました:))

于 2013-05-21T11:50:54.917 に答える
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");
    }
}

ここに例があります。

于 2013-08-07T10:10:22.857 に答える