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");
}
}
Here is an example.