The below is Smoke.xml using which i want to run a set of packages for cross browser testing. But on running the below xml none of my testcases get executed. No error is thrown either. Please suggest as to where i am going wrong. I have been stuck with this for quite a while now.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="true">
<test name="Parallel test suite" preserve-order="true" thread-count="2">
<parameter name="Browser" value="Chrome"></parameter>
<packages>
<package name="src.test.java.*" />
<!-- <package name="src.test.java.comparison" />
<package name="src.test.java.mutualFundDetailPage" />
<package name="src.test.java.portfolio" />
<package name="src.test.java.reportCreator" />
<package name="src.test.java.searchAndSearchResults" /> -->
</packages>
</test>
</suite>
This is my base class for browsers.
package com.gale.precision.FundVisualizer.core;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.StaleElementReferenceException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Base {
public static WebDriver driver = null;
public static String DriverPath = System.getProperty("user.dir") + "//" + "Drivers";
public static String DirectoryPath = System.getProperty("user.dir");
public static Properties prop = new Properties();
public static InputStream input = null;
public static void getBrowser()
{
try {
input = new FileInputStream(DirectoryPath + "//" + "config" + "//" + "app.properties");
prop.load(input);
try {
if (prop.getProperty("Browser").equalsIgnoreCase("IE")) {
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
System.setProperty("webdriver.ie.driver", DriverPath + "//" + "IEDriverServer_32.exe");
driver = new InternetExplorerDriver(capabilities);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(Integer.parseInt(prop.getProperty("ImplicitWait")), TimeUnit.SECONDS);
driver.get(prop.getProperty("URL"));
} else if (prop.getProperty("Browser").equalsIgnoreCase("Chrome")) {
System.setProperty("webdriver.chrome.driver", DriverPath + "//" + "chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().fullscreen();
//driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(Integer.parseInt(prop.getProperty("ImplicitWait")), TimeUnit.SECONDS);
driver.get(prop.getProperty("URL"));
} else if (prop.getProperty("Browser").equalsIgnoreCase("FF")) {
System.setProperty("webdriver.gecko.driver", DriverPath + "//" + "geckodriver.exe");
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(Integer.parseInt(prop.getProperty("ImplicitWait")), TimeUnit.SECONDS);
driver.get(prop.getProperty("URL"));
} else if (prop.getProperty("Browser").equalsIgnoreCase("Edge")) {
System.setProperty("webdriver.edge.driver", DriverPath + "//" + "MicrosoftWebDriverServer.exe");
driver = new EdgeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(Integer.parseInt(prop.getProperty("ImplicitWait")), TimeUnit.SECONDS);
driver.get(prop.getProperty("URL"));
} else {
System.out.println("Not a valid browser!");
}
} catch (Exception e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static boolean clickingStaleElements(WebElement element) {
boolean result = false;
int attempts = 0;
while (attempts < 2) {
try {
element.click();
result = true;
break;
} catch (StaleElementReferenceException e) {
e.printStackTrace();
}
attempts++;
}
return result;
}
public static void closeBrowser() {
driver.quit();
}
}
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="true">
<test name="Parallel test suite" preserve-order="true" thread-count="2">
<parameter name="Browser" value="Chrome"></parameter>
<packages>
<package name="src.test.java.*" />
<!-- <package name="src.test.java.comparison" />
<package name="src.test.java.mutualFundDetailPage" />
<package name="src.test.java.portfolio" />
<package name="src.test.java.reportCreator" />
<package name="src.test.java.searchAndSearchResults" /> -->
</packages>
</test>
Your package name is wrong. It shouldn't start with src.test. Please try the following.
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="true">
<test name="Parallel test suite" preserve-order="true" thread-count="2">
<parameter name="Browser" value="Chrome"></parameter>
<packages>
<package name="comparison"/>
<package name="mutualFundDetailPage" />
<package name="portfolio" />
<package name="reportCreator" />
<package name="searchAndSearchResults" />
</packages>
</test>
</suite>