Hi Krishnan,
Please find attached the files specified in the post. I am not able to attach all the files. Hence pasting the rest of the files below. Could you please have a look and share your feedback?
testNG.xml
<?xml version="1.0" encoding="UTF-8"?>
<suite name="CreateAccount" parallel="true" thread-count="5" data-provider-thread-count="5">
<test name="Test IE">
<parameter name="BrowserName" value="internetexplorer"></parameter>
<classes>
<class name="LoginToApp"/>
<class name="CreateUser"/>
<class name="Logout"/>
</classes>
</test>
<test name="Test Chrome" >
<parameter name="BrowserName" value="chrome"></parameter>
<classes>
<class name="LoginToApp"/>
<class name="CreateUser"/>
<class name="Logout"/>
</classes>
</test>
<test name="Test Firefox" >
<parameter name="BrowserName" value="firefox"></parameter>
<classes>
<class name="LoginToApp"/>
<class name="CreateUser"/>
<class name="Logout"/>
</classes>
</test>
</suite> <!-- Suite -->
LocalDriverFactory
public class LocalDriverFactory {
static WebDriver setDriver(String browserName){
DesiredCapabilities caps = null;
WebDriver bDriver = null;
File browserDriverServer;
switch (browserName.toLowerCase()) {
case "chrome":
//Setup for Grid capability
caps = DesiredCapabilities.chrome();
break;
case "firefox":
//Setup for Grid
caps = DesiredCapabilities.firefox();
break;
case "internetexplorer":
//setup for Grid
caps = DesiredCapabilities.internetExplorer();
default:
break;
}
bDriver = new RemoteWebDriver(caps);
return bDriver;
}
}
#############Tests####################
Login Test
public class LoginToApp extends Driver {
@BeforeTest
public void getTestDataClass(){
String sqlToExecute = "Select [User Name], [password] from Login;";
setTestDataSql(sqlToExecute);
}
@Test(dataProvider = "DB Data")
public void Login (String userName, String pwd) {
//code to Login
driver.findElement(By.name("q")).sendKeys(userName);
}
}
Create User
public class createUser extends Driver {
@BeforeTest
public void getTestDataClass(){
String sqlToExecute = "Select [First Name], [Last Name] from User;";
setTestDataSql(sqlToExecute);
}
@Test(dataProvider = "DB Data")
public void Login (String fName, String lName) {
//code to Login
System.out.println("Executing the work-flow to create new user");
driver.findElement(By.name(fNameUI)).sendKeys(fName);//fNameUI is the name attribute of the UI element
//further code for user Creation
}
}
Logoutpublic class Logout extends Driver {
public void logout () {
//code to Logout
}
}