--
You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to testng...@googlegroups.com.
To unsubscribe from this group, send email to testng-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en.
onTestFailure(ITestResult result)
--
You received this message because you are subscribed to the Google Groups "testng-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to testng-users...@googlegroups.com.
To post to this group, send email to testng...@googlegroups.com.
Visit this group at https://groups.google.com/group/testng-users.
For more options, visit https://groups.google.com/d/optout.
package com.selenium.test.webtestsbase;
import org.openqa.selenium.WebDriver;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;
/**
* Created by devonjones on 4/14/16.
*/
public class TestListeners extends TestListenerAdapter {
public static WebDriver driver;
public void onTestSuccess(ITestResult result) {
System.out.println(result.getName() + " was successful.");
}
public void onTestFailure(ITestResult result) {
//ScreenShots.captureScreenShot(driver, result.getName());
System.out.println(result.getName() + " failed.\n Throwable: " + result.getThrowable().getMessage());
}
public void onTestSkipped(ITestResult result) {
System.out.println(result.getName() + " was skipped.");
}
}
package com.selenium.test.webtestsbase;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import java.io.File;
import java.io.IOException;
/**
* Created by devonjones on 4/14/16.
*/
public class ScreenShots {
public static WebDriver driver;
public static void captureScreenShot(WebDriver driver, String name) {
File source = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(source, new File("target/screenshots/" + name + ".png"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
@AfterMethod
public void logoutAndCleanUp(ITestResult result) {
if (ITestResult.FAILURE == result.getStatus()) {
ScreenShots.captureScreenShot(driver, result.getName());
}
this.driver.quit();
ordersPage = null;
emberTable = null;
//createOrderPage = null;
commonUsefulMethods = null;
}
OrdersPage ordersPage;
//CreateOrderPage createOrderPage;
public WebDriver driver;
/**
* Returns true if the orders pages loads and header is visible
*
* @return
*/
public boolean onOrdersPage() throws InterruptedException {
waitForOrdersPageToLoad();
String navText = EmberTable.navBarHeader.getText();
return navText.equalsIgnoreCase("Orders") && orderFiltersHeader.isDisplayed();
}
public void waitForOrdersPageToLoad() {
CommonUsefulMethods.waitUntilElementVisable(driver, EmberTable.firstColumnHeader);
}
/**
* Created by devonjones on 12/10/15.
*/
public class OrdersTest {
OrdersPage ordersPage;
EmberTable emberTable;
//CreateOrderPage createOrderPage;
CommonUsefulMethods commonUsefulMethods;
private static final String navigationURL = "https://qa1.digabit.com/Portal/ecommerceOrderManagement/#/orders";
public WebDriver driver;
HashMap<String, String> loginMap;
// Factory and map to run all tests against both regular and admin users
@Factory(dataProvider = "login", dataProviderClass = LoginData.class)
public OrdersTest(String userType, String userName, String password) {
loginMap = new HashMap<String, String>();
loginMap.put("usertype", userType);
loginMap.put("username", userName);
loginMap.put("password", password);
}
@BeforeMethod
public void loginAndNavigateToOrders() {
driver = new FirefoxDriver();
Login login = PageFactory.initElements(driver, Login.class);
login.simpleLogin(driver, loginMap.get("username"), loginMap.get("password"), navigationURL);
ordersPage = new OrdersPage();
ordersPage.driver = driver;
PageFactory.initElements(driver, ordersPage);
emberTable = new EmberTable();
emberTable.driver = driver;
PageFactory.initElements(driver, emberTable);
//createOrderPage = new CreateOrderPage();
// createOrderPage.driver = driver;
//PageFactory.initElements(driver, createOrderPage);
commonUsefulMethods = new CommonUsefulMethods();
PageFactory.initElements(driver, commonUsefulMethods);
commonUsefulMethods.driver = driver;
}
@AfterMethod
public void logoutAndCleanUp(ITestResult result) {
if (ITestResult.FAILURE == result.getStatus()) {
ScreenShots.captureScreenShot(driver, result.getName());
}
this.driver.quit();
ordersPage = null;
emberTable = null;
//createOrderPage = null;
commonUsefulMethods = null;
}
/**
* @author djones
* <b> Test: </b>TC-297- Order Page loads
* <b> Test Steps: </b><br>
* <ul>
* <li> 1. Login as any user</li>
* <li> 2. Navigate to orders page </li>
* </ul>
* <b> Validation: </b Verify Orders table header and Filters header present<br>
*/
@Test
public void testOnOrdersPage() throws InterruptedException {
ordersPage.waitForOrdersPageToLoad();
Assert.assertTrue(ordersPage.onOrdersPage(), "Not on orders page");
}
--
You received this message because you are subscribed to a topic in the Google Groups "testng-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/testng-users/rgwE2QD5QwI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to testng-users...@googlegroups.com.
public class TestListeners extends TestListenerAdapter {
public void onTestSuccess(ITestResult result) {
System.out.println(result.getName() + " was successful.");
}
public void onTestFailure(ITestResult result) {
Object testClassInstance = result.getInstance();
if (testClassInstance instanceof WebDriverEnabled) {
RemoteWebDriver driver = ((WebDriverEnabled) testClassInstance).getDriver();
captureScreenShot(driver, result.getName());
}
System.out.println(result.getName() + " failed.\n Throwable: " + result.getThrowable().getMessage());
}
public void onTestSkipped(ITestResult result) {
System.out.println(result.getName() + " was skipped.");
}
public static void captureScreenShot(RemoteWebDriver driver, String name) {
File source = driver.getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(source, new File("target/screenshots/" + name + ".png"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import org.openqa.selenium.remote.RemoteWebDriver;
/**
* This interface exposes out the RemoteWebDriver instance from its implementation.
* A typical use case would be for Test Classes to implement this method so that they may expose the
* {@link RemoteWebDriver} driver instance that they create internally to outside callers such as listeners
* which may need access to the driver object for performing various operations.
*/
public interface WebDriverEnabled {
RemoteWebDriver getDriver();
}
@Listeners (TestListeners.class)
public class SampleTestClass implements WebDriverEnabled {
private RemoteWebDriver driver;
private boolean simulateFailure;
@BeforeMethod
public void beforeMethod() {
driver = new FirefoxDriver();
}
@Factory (dataProvider = "dp")
public SampleTestClass(boolean simulateFailure) {
this.simulateFailure = simulateFailure;
}
@Test
public void testMethod() {
driver.get("http://the-internet.herokuapp.com/");
if (simulateFailure) {
driver.findElement(By.id("youCantSeeMe"));
}
}
@AfterMethod
public void afterMethod() {
if (driver != null) {
driver.quit();
}
}
@DataProvider (name = "dp")
public static Object[][] getData() {
return new Object[][] {
{false}, {true}
};
}
@Override
public RemoteWebDriver getDriver() {
return driver;
}
}