package com.cognizant.grid;
import java.net.MalformedURLException;
import java.net.URL;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class SeleniumGrid_cognizant {
AppiumDriver driver;
@Parameters({âbrowserNameâ,âplatformâ,âdeviceNameâ,âversionâ})
@BeforeMethod
public void beforeMethod(String browserName, String platform, String deviceName, String version ) throws MalformedURLException{
DesiredCapabilities capabilities = DesiredCapabilities.android();
/*capabilities.setCapability("browserName", browserName);
capabilities.setCapability("platform", platform);
capabilities.setCapability("applicationName", applicationName);
capabilities.setCapability("version", version);*/
// capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,"Appium");
capabilities.setCapability(MobileCapabilityType.VERSION, version);
capabilities.setCapability("deviceName",deviceName);
//capabilities.setCapability("udid",deviceName);
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
// capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"Android");
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,"chrome");
driver = new AndroidDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
}
@Test
public void myTest() throws InterruptedException{
System.out.println("inside");
driver.get("http://www.cognizant.com");
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@id=\"mm\"]/img")).click();
Thread.sleep(5000);
}
@AfterMethod()
public void afterMethod(){
driver.quit();
}
}
node.json file
{
âcapabilitiesâ: [
{
âbrowserNameâ:âChromeâ,
âversionâ: â4.3â,
âmaxInstancesâ: 3,
âplatformâ: âANDROIDâ,
âapplicationNameâ:âemulator-5554â
}
],
âconfigurationâ: {
ânodeTimeoutâ: â120â,
âportâ: â4726â,
âhubPortâ: â4444â,
âproxyâ: âorg.openqa.grid.selenium.proxy.DefaultRemoteProxyâ,
âurlâ: âhttp://xxxxxxxxx:4726/wd/hubâ,
âhubâ: âxxxxxxxxx:4444/grid/registerâ,
âhubHostâ: âxxxxxxxxxâ,
ânodePollingâ: â2000â,
âregisterCycleâ: â10000â,
âregisterâ: true,
âcleanUpCycleâ: â2000â,
âtimeoutâ: â30000â,
âmaxSessionâ: â1â
}
}
<test name="SeleniumGrid_Sony" >
<parameter name="browserName" value="Chrome"/>
<parameter name="platform" value="Android"/>
<parameter name="deviceName" value="emulator-5554"/>
<parameter name="version" value="4.3"/>
<classes>
<class name="com.cognizant.grid.SeleniumGrid_cognizant"/>
</classes>
<parameter name="browserName" value="Chrome"/>
<parameter name="platform" value="Android"/>
<parameter name="deviceName" value="emulator-5556"/>
<parameter name="version" value="4.4"/>
<classes>
<class name="com.cognizant.grid.SeleniumGrid_cognizant"/>
</classes>
hub:
C:\Grid>java -jar selenium-server-standalone-2.45.0.jar -role hub -hub http://xxxxxxx:4444/grid/register
nodes:
C:\Program Files (x86)\Appium\node_modules\appium\bin>node appium.js -a xxxxxxxx -p 4726 --nodeconfig âc:/Grid/node1.jsonâ --udid emulater-5554 -
-bootstrap-port 2252 --chromedriver-port 4735
C:\Program Files (x86)\Appium\node_modules\appium\bin>node appium.js -a xxxxxxxxx -p 4728 --nodeconfig âc:/Grid/node2.jsonâ --udid emulater-5556 --bootstra
p-port 2257 --chromedriver-port 4739