Commit 569713dd authored by Adnan Zia's avatar Adnan Zia

local_to_gitrepo_Upload

parents
# Default ignored files
/shelf/
/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="myorangehrm" />
</profile>
</annotationProcessing>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="18" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>myorangehrm</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>18</maven.compiler.source>
<maven.compiler.target>18</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>4.8.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>4.8.1</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.7.0</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>4.8.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager -->
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.6.2</version>
</dependency>
<!-- for 403 error -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-http-jdk-client</artifactId>
<version>4.8.1</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package adminPage;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import utilities.Utils;
public class AddUser {
private WebDriver driver;
private By addUserButton = By.xpath("//button[text()=' Add ']");
private By userRoleDropdown = By.xpath("(//div[@class='oxd-select-text-input'])[1]");
private By statusDropdown = By.xpath("(//div[@class='oxd-select-text-input'])[2]");
private By passwordFiled = By.xpath("(//input[@type='password'])[1]");
private By confirmPasswordFiled = By.xpath("(//input[@type='password'])[2]");
private By employeeNameField = By.xpath("//input[@placeholder='Type for hints...']");
private By userName = By.xpath("(//input[@class='oxd-input oxd-input--active'])[2]");
private By saveButton = By.xpath("//button[text()=' Save ']");
private By toastMessage = By.xpath("(//div[@id='oxd-toaster_1'])[1]");
public AddUser(WebDriver driver) {
this.driver = driver;
}
public void goToAddUserForm() {
Utils.waitForElementVisible(driver, addUserButton);
Utils.clickOnElement(driver, addUserButton);
}
public void setUserRoleToAdmin() {
Utils.waitForElementVisible(driver, userRoleDropdown);
Utils.clickOnElement(driver, userRoleDropdown);
driver.findElement(userRoleDropdown).sendKeys(Keys.ARROW_DOWN);
driver.findElement(userRoleDropdown).sendKeys(Keys.ENTER);
}
public void setUserStatusToEnabled() {
Utils.waitForElementVisible(driver, statusDropdown);
Utils.clickOnElement(driver, statusDropdown);
driver.findElement(statusDropdown).sendKeys(Keys.ARROW_DOWN);
driver.findElement(statusDropdown).sendKeys(Keys.ENTER);
}
public void setEmployeeName() throws InterruptedException {
Utils.waitForElementVisible(driver, employeeNameField);
Utils.clickOnElement(driver, employeeNameField);
driver.findElement(employeeNameField).sendKeys("a");
Thread.sleep(4000);
driver.findElement(employeeNameField).sendKeys(Keys.ARROW_DOWN);
driver.findElement(employeeNameField).sendKeys(Keys.ENTER);
}
public void setUserName(String text) {
Utils.clickOnElement(driver, userName);
Utils.clickOnElement(driver, userName);
driver.findElement(userName).sendKeys(text);
}
public void setPassword(String text) {
Utils.waitForElementVisible(driver, passwordFiled);
Utils.clickOnElement(driver, passwordFiled);
driver.findElement(passwordFiled).sendKeys(text);
}
public void setConfirmPassword(String text) {
Utils.waitForElementVisible(driver, confirmPasswordFiled);
Utils.clickOnElement(driver, confirmPasswordFiled);
driver.findElement(confirmPasswordFiled).sendKeys(text);
}
public String getToastMessage() {
Utils.waitForElementVisible(driver, toastMessage);
String message = driver.findElement(toastMessage).getText();
return message;
}
public void clickOnSaveButton() {
Utils.waitForElementVisible(driver, saveButton);
Utils.clickOnElement(driver, saveButton);
}
}
package adminPage;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import utilities.Utils;
import java.lang.reflect.Array;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class EmployeeList {
private WebDriver driver;
private By employeeCheckBox = By.cssSelector("span.oxd-checkbox-input");
//private By deleteButton = By.cssSelector("(//i[@class='oxd-icon bi-trash'])");
private By confirmButton = By.xpath("//button[contains(.,'Yes, Delete')]");
public EmployeeList(WebDriver driver) {
this.driver = driver;
}
public void clickEmployeeCheckBox(int index) {
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.presenceOfElementLocated(employeeCheckBox));
WebElement employee = driver.findElements(employeeCheckBox).get(index);
employee.click();
}
public void clickDeleteButton(String index) {
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("(//i[@class='oxd-icon bi-trash'])" + "[" + index + "]"))).click();
}
public void clickConfirmButton() {
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.presenceOfElementLocated(confirmButton)).click();
}
public String getToastText() {
return driver.findElement(By.xpath("(//div[@id='oxd-toaster_1'])")).getText();
}
public void clickSearchButton() {
}
}
package homepage;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import utilities.Utils;
public class Login {
private WebDriver driver;
private By username = By.cssSelector("input[name='username']");
private By password = By.cssSelector("input[name='password']");
private By loginButton = By.cssSelector("button[type='submit']");
public Login(WebDriver driver) {
this.driver = driver;
}
public void setUserName(String userInput) {
Utils.waitForElementVisible(driver, username);
driver.findElement(username).sendKeys(userInput);
}
public void setPassword(String userPass) {
Utils.waitForElementVisible(driver, password);
driver.findElement(password).sendKeys(userPass);
}
public NavigationMenu clickLogin() {
Utils.waitForElementVisible(driver, loginButton);
driver.findElement(loginButton).click();
return new NavigationMenu(driver);
}
public String getCurrentUrl() {
return driver.getCurrentUrl();
}
public WebElement getUserNameElement() {
Utils.waitForElementVisible(driver, username);
return driver.findElement(username);
}
public WebElement getPasswordElement() {
Utils.waitForElementVisible(driver, password);
return driver.findElement(password);
}
public WebElement getLoginButtonElement() {
Utils.waitForElementVisible(driver, loginButton);
return driver.findElement(loginButton);
}
}
package homepage;
import adminPage.AddUser;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import utilities.Utils;
public class NavigationMenu {
private WebDriver driver;
public By adminMenu = By.xpath("//a[contains(.,'Admin')]");
public NavigationMenu(WebDriver driver) {
this.driver = driver;
}
public AddUser goToAdminMenu() {
Utils.waitForElementVisible(driver, adminMenu);
Utils.clickOnElement(driver, adminMenu);
return new AddUser(driver);
}
}
package utilities;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.time.Duration;
public class Utils {
public static void waitForElementVisible(WebDriver driver, By locator) {
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(20));
wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
}
public static void clickOnElement(WebDriver driver, By locator) {
driver.findElement(locator).click();
}
}
package base;
import homepage.Login;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.*;
public class BaseTest {
protected Login homePageLogin;
private WebDriver driver;
@BeforeClass // so want this method to run before every class
public void setUp() {
WebDriverManager.chromedriver().setup();
System.setProperty("webdriver.http.factory", "jdk-http-client"); //for 403 error
driver = new ChromeDriver();
driver.manage().deleteAllCookies();
goHome();
homePageLogin = new Login(driver);
}
@BeforeMethod
public void goHome() {
driver.get("https://opensource-demo.orangehrmlive.com/web/index.php/auth/login");
}
@AfterClass
public void tearDown() {
driver.quit();
}
public void clearCookies() {
driver.manage().deleteAllCookies();
}
}
package dataprovider;
import org.testng.annotations.DataProvider;
public class DataProviderClass {
@DataProvider(name = "loginData")
public static Object[][] dataForLogin() {
return new Object[][]{
{
"Admin", "admin123"
},
{
"Admin", "admin123"
}
};
}
}
package loginTest;
import base.BaseTest;
import dataprovider.DataProviderClass;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
public class LoginTestClass extends BaseTest {
@Test(description = "Verify that username field is visible",
groups = {"LoginUI"},
priority = 1)
public void UsernameFieldVisibility() {
boolean isDisplayed = homePageLogin.getUserNameElement().isDisplayed();
assertTrue(isDisplayed, "Username field is not visible");
}
@Test(description = "Verify that username field is clickable",
groups = {"LoginUI"},
dependsOnMethods = {"UsernameFieldVisibility"},
priority = 2)
public void UsernameFieldInteraction() {
boolean isInteract = homePageLogin.getUserNameElement().isEnabled();
assertTrue(isInteract, "Username field is not getting input");
}
//-----------------------------------------------------//
@Test(description = "Verify that Password field is visible",
groups = {"LoginUI"},
priority = 3)
public void PasswordFieldVisibility() {
boolean isDisplayed = homePageLogin.getPasswordElement().isDisplayed();
assertTrue(isDisplayed, "Password field is not visible");
}
@Test(description = "Verify that Password field is clickable",
groups = {"LoginUI"},
dependsOnMethods = {"PasswordFieldVisibility"},
priority = 4)
public void PasswordFieldInteraction() {
boolean isInteract = homePageLogin.getPasswordElement().isEnabled();
assertTrue(isInteract, "Password field is not getting input");
}
//------------------------------------------------------------
@Test(description = "Verify that Login button is visible",
groups = {"LoginUI"},
priority = 5)
public void LoginButtonVisibility() {
boolean isDisplayed = homePageLogin.getLoginButtonElement().isDisplayed();
assertTrue(isDisplayed, "Login button is not visible");
}
@Test(description = "Verify that Login button is clickable",
groups = {"LoginUI"},
dependsOnMethods = {"LoginButtonVisibility"},
priority = 6)
public void LoginButtonInteraction() {
boolean isInteract = homePageLogin.getLoginButtonElement().isEnabled();
assertTrue(isInteract, "Login button is not clickable");
}
@Test(description = "Verify login is successful with valid credentials",
priority = 7,
//dependsOnGroups = {"LoginUI"},
dataProvider = "loginData", dataProviderClass = DataProviderClass.class)
public void testLogin(String username, String password) {
homePageLogin.setUserName(username);
homePageLogin.setPassword(password);
homePageLogin.clickLogin();
assertEquals(homePageLogin.getCurrentUrl(), "https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index", "Login is not successful");
clearCookies();
}
}
package user;
import base.BaseTest;
import org.testng.annotations.Test;
public class UserDeleteTest extends BaseTest {
@Test
public void deleteTest() {
homePageLogin.setUserName("Admin");
homePageLogin.setPassword("admin123");
var employeeList = homePageLogin.clickLogin();
}
}
package user;
import base.BaseTest;
import org.testng.Assert;
import org.testng.annotations.Test;
import utilities.Utils;
public class addUserTest extends BaseTest {
@Test
public void addTest() throws InterruptedException {
homePageLogin.setUserName("Admin");
homePageLogin.setPassword("admin123");
var navigationMenu = homePageLogin.clickLogin();
var addUser = navigationMenu.goToAdminMenu();
addUser.goToAddUserForm();
addUser.setUserRoleToAdmin();
addUser.setUserStatusToEnabled();
addUser.setEmployeeName();
addUser.setPassword("Adnan123");
addUser.setConfirmPassword("Adnan123");
addUser.setUserName("adnannisumtest1");
addUser.clickOnSaveButton();
Assert.assertTrue(addUser.getToastMessage().contains("Successfully Saved"));
Thread.sleep(9000);
}
}
<html>
<head>
<title>TestNG: MyTest</title>
<link href="../testng.css" rel="stylesheet" type="text/css" />
<link href="../my-testng.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.log { display: none;}
.stack-trace { display: none;}
</style>
<script type="text/javascript">
<!--
function flip(e) {
current = e.style.display;
if (current == 'block') {
e.style.display = 'none';
return 0;
}
else {
e.style.display = 'block';
return 1;
}
}
function toggleBox(szDivId, elem, msg1, msg2)
{
var res = -1; if (document.getElementById) {
res = flip(document.getElementById(szDivId));
}
else if (document.all) {
// this is the way old msie versions work
res = flip(document.all[szDivId]);
}
if(elem) {
if(res == 0) elem.innerHTML = msg1; else elem.innerHTML = msg2;
}
}
function toggleAllBoxes() {
if (document.getElementsByTagName) {
d = document.getElementsByTagName('div');
for (i = 0; i < d.length; i++) {
if (d[i].className == 'log') {
flip(d[i]);
}
}
}
}
// -->
</script>
</head>
<body>
<h2 align='center'>MyTest</h2><table border='1' align="center">
<tr>
<td>Tests passed/Failed/Skipped:</td><td>7/1/0</td>
</tr><tr>
<td>Started on:</td><td>Tue Dec 12 17:24:48 PKT 2023</td>
</tr>
<tr><td>Total time:</td><td>17 seconds (17849 ms)</td>
</tr><tr>
<td>Included groups:</td><td></td>
</tr><tr>
<td>Excluded groups:</td><td></td>
</tr>
</table><p/>
<small><i>(Hover the method name to see the test class name)</i></small><p/>
<table width='100%' border='1' class='invocation-failed'>
<tr><td colspan='4' align='center'><b>FAILED TESTS</b></td></tr>
<tr><td><b>Test method</b></td>
<td><b>Attribute(s)</b></td>
<td width="30%"><b>Exception</b></td>
<td width="10%"><b>Time (seconds)</b></td>
<td><b>Instance</b></td>
</tr>
<tr>
<td title='loginTest.LoginTestClass.testLogin()'><b>testLogin</b><br>Test class: loginTest.LoginTestClass<br>Test method: Verify login is successful with valid credentials<br>Parameters: Admin, admin123</td>
<td><div><pre>java.lang.AssertionError: Login is not successful expected [https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index] but found [https://opensource-demo.orangehrmlive.com/web/index.php/auth/login]
at loginTest.LoginTestClass.testLogin(LoginTestClass.java:73)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
... Removed 27 stack frames</pre></div><a href='#' onClick='toggleBox("stack-trace1124288521", this, "Click to show all stack frames", "Click to hide stack frames")'>Click to show all stack frames</a>
<div class='stack-trace' id='stack-trace1124288521'><pre>java.lang.AssertionError: Login is not successful expected [https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index] but found [https://opensource-demo.orangehrmlive.com/web/index.php/auth/login]
at org.testng.Assert.fail(Assert.java:110)
at org.testng.Assert.failNotEquals(Assert.java:1413)
at org.testng.Assert.assertEqualsImpl(Assert.java:149)
at org.testng.Assert.assertEquals(Assert.java:131)
at org.testng.Assert.assertEquals(Assert.java:655)
at loginTest.LoginTestClass.testLogin(LoginTestClass.java:73)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:677)
at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:221)
at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:969)
at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:194)
at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:148)
at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at org.testng.TestRunner.privateRun(TestRunner.java:829)
at org.testng.TestRunner.run(TestRunner.java:602)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:437)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:431)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:391)
at org.testng.SuiteRunner.run(SuiteRunner.java:330)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1256)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1176)
at org.testng.TestNG.runSuites(TestNG.java:1099)
at org.testng.TestNG.run(TestNG.java:1067)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
</pre></div></td>
<td>1</td>
<td>loginTest.LoginTestClass@589b3632</td></tr>
</table><p>
<table width='100%' border='1' class='invocation-passed'>
<tr><td colspan='4' align='center'><b>PASSED TESTS</b></td></tr>
<tr><td><b>Test method</b></td>
<td><b>Attribute(s)</b></td>
<td width="30%"><b>Exception</b></td>
<td width="10%"><b>Time (seconds)</b></td>
<td><b>Instance</b></td>
</tr>
<tr>
<td title='loginTest.LoginTestClass.LoginButtonInteraction()'><b>LoginButtonInteraction</b><br>Test class: loginTest.LoginTestClass<br>Test method: Verify that Login button is clickable</td>
<td></td>
<td>0</td>
<td>loginTest.LoginTestClass@589b3632</td></tr>
<tr>
<td title='loginTest.LoginTestClass.UsernameFieldVisibility()'><b>UsernameFieldVisibility</b><br>Test class: loginTest.LoginTestClass<br>Test method: Verify that username field is visible</td>
<td></td>
<td>0</td>
<td>loginTest.LoginTestClass@589b3632</td></tr>
<tr>
<td title='loginTest.LoginTestClass.LoginButtonVisibility()'><b>LoginButtonVisibility</b><br>Test class: loginTest.LoginTestClass<br>Test method: Verify that Login button is visible</td>
<td></td>
<td>0</td>
<td>loginTest.LoginTestClass@589b3632</td></tr>
<tr>
<td title='loginTest.LoginTestClass.testLogin()'><b>testLogin</b><br>Test class: loginTest.LoginTestClass<br>Test method: Verify login is successful with valid credentials<br>Parameters: Admin, admin123</td>
<td></td>
<td>2</td>
<td>loginTest.LoginTestClass@589b3632</td></tr>
<tr>
<td title='loginTest.LoginTestClass.PasswordFieldVisibility()'><b>PasswordFieldVisibility</b><br>Test class: loginTest.LoginTestClass<br>Test method: Verify that Password field is visible</td>
<td></td>
<td>0</td>
<td>loginTest.LoginTestClass@589b3632</td></tr>
<tr>
<td title='loginTest.LoginTestClass.UsernameFieldInteraction()'><b>UsernameFieldInteraction</b><br>Test class: loginTest.LoginTestClass<br>Test method: Verify that username field is clickable</td>
<td></td>
<td>0</td>
<td>loginTest.LoginTestClass@589b3632</td></tr>
<tr>
<td title='loginTest.LoginTestClass.PasswordFieldInteraction()'><b>PasswordFieldInteraction</b><br>Test class: loginTest.LoginTestClass<br>Test method: Verify that Password field is clickable</td>
<td></td>
<td>0</td>
<td>loginTest.LoginTestClass@589b3632</td></tr>
</table><p>
</body>
</html>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by org.testng.reporters.JUnitXMLReporter -->
<testsuite ignored="0" hostname="NT-PK505local.local" failures="1" tests="8" name="MyTest" time="17.849" errors="0" timestamp="2023-12-12T17:25:11 PKT">
<testcase classname="loginTest.LoginTestClass" name="UsernameFieldVisibility" time="0.585"/>
<testcase classname="loginTest.LoginTestClass" name="UsernameFieldInteraction" time="0.55"/>
<testcase classname="loginTest.LoginTestClass" name="PasswordFieldVisibility" time="0.562"/>
<testcase classname="loginTest.LoginTestClass" name="PasswordFieldInteraction" time="0.548"/>
<testcase classname="loginTest.LoginTestClass" name="LoginButtonVisibility" time="0.557"/>
<testcase classname="loginTest.LoginTestClass" name="LoginButtonInteraction" time="0.55"/>
<testcase classname="loginTest.LoginTestClass" name="testLogin" time="2.074"/>
<testcase classname="loginTest.LoginTestClass" name="testLogin" time="1.399">
<failure type="java.lang.AssertionError" message="Login is not successful expected [https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index] but found [https://opensource-demo.orangehrmlive.com/web/index.php/auth/login]">
<![CDATA[java.lang.AssertionError: Login is not successful expected [https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index] but found [https://opensource-demo.orangehrmlive.com/web/index.php/auth/login]
at loginTest.LoginTestClass.testLogin(LoginTestClass.java:73)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
... Removed 27 stack frames]]>
</failure>
</testcase> <!-- testLogin -->
</testsuite> <!-- MyTest -->
<html>
<head>
<title>TestNG: /Users/adnanzia/IdeaProjects/myorangehrm/pom.xml</title>
<link href="../testng.css" rel="stylesheet" type="text/css" />
<link href="../my-testng.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.log { display: none;}
.stack-trace { display: none;}
</style>
<script type="text/javascript">
<!--
function flip(e) {
current = e.style.display;
if (current == 'block') {
e.style.display = 'none';
return 0;
}
else {
e.style.display = 'block';
return 1;
}
}
function toggleBox(szDivId, elem, msg1, msg2)
{
var res = -1; if (document.getElementById) {
res = flip(document.getElementById(szDivId));
}
else if (document.all) {
// this is the way old msie versions work
res = flip(document.all[szDivId]);
}
if(elem) {
if(res == 0) elem.innerHTML = msg1; else elem.innerHTML = msg2;
}
}
function toggleAllBoxes() {
if (document.getElementsByTagName) {
d = document.getElementsByTagName('div');
for (i = 0; i < d.length; i++) {
if (d[i].className == 'log') {
flip(d[i]);
}
}
}
}
// -->
</script>
</head>
<body>
<h2 align='center'>/Users/adnanzia/IdeaProjects/myorangehrm/pom.xml</h2><table border='1' align="center">
<tr>
<td>Tests passed/Failed/Skipped:</td><td>0/0/0</td>
</tr><tr>
<td>Started on:</td><td>Tue Dec 12 17:22:34 PKT 2023</td>
</tr>
<tr><td>Total time:</td><td>0 seconds (8 ms)</td>
</tr><tr>
<td>Included groups:</td><td>LoginUI </td>
</tr><tr>
<td>Excluded groups:</td><td></td>
</tr>
</table><p/>
<small><i>(Hover the method name to see the test class name)</i></small><p/>
</body>
</html>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by org.testng.reporters.JUnitXMLReporter -->
<testsuite ignored="0" hostname="NT-PK505local.local" failures="0" tests="0" time="0.008" errors="0" timestamp="2023-12-12T17:22:39 PKT">
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Failed suite [All Test Suite]" guice-stage="DEVELOPMENT">
<test thread-count="5" name="MyTest(failed)">
<classes>
<class name="loginTest.LoginTestClass">
<methods>
<include name="setUp"/>
<include name="tearDown"/>
<include name="goHome"/>
<include name="testLogin" invocation-numbers="1"/>
</methods>
</class> <!-- loginTest.LoginTestClass -->
</classes>
</test> <!-- MyTest(failed) -->
</suite> <!-- Failed suite [All Test Suite] -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>TestNG Report</title>
<style type="text/css">table {margin-bottom:10px;border-collapse:collapse;empty-cells:show}th,td {border:1px solid #009;padding:.25em .5em}th {vertical-align:bottom}td {vertical-align:top}table a {font-weight:bold}.stripe td {background-color: #E6EBF9}.num {text-align:right}.passedodd td {background-color: #3F3}.passedeven td {background-color: #0A0}.skippedodd td {background-color: #DDD}.skippedeven td {background-color: #CCC}.failedodd td,.attn {background-color: #F33}.failedeven td,.stripe .attn {background-color: #D00}.stacktrace {white-space:pre;font-family:monospace}.totop {font-size:85%;text-align:center;border-bottom:2px solid #000}.invisible {display:none}</style>
</head>
<body>
<table>
<tr><th>Test</th><th># Passed</th><th># Skipped</th><th># Retried</th><th># Failed</th><th>Time (ms)</th><th>Included Groups</th><th>Excluded Groups</th></tr>
<tr><th colspan="8">All Test Suite</th></tr>
<tr><td><a href="#t0">MyTest</a></td><td class="num">7</td><td class="num">0</td><td class="num">0</td><td class="num attn">1</td><td class="num">17,849</td><td></td><td></td></tr>
</table>
<table id='summary'><thead><tr><th>Class</th><th>Method</th><th>Start</th><th>Time (ms)</th></tr></thead><tbody><tr><th colspan="4">All Test Suite</th></tr></tbody><tbody id="t0"><tr><th colspan="4">MyTest &#8212; failed</th></tr><tr class="failedeven"><td rowspan="1">loginTest.LoginTestClass</td><td><a href="#m0">testLogin</a></td><td rowspan="1">1702383904900</td><td rowspan="1">1399</td></tr><tr><th colspan="4">MyTest &#8212; passed</th></tr><tr class="passedeven"><td rowspan="7">loginTest.LoginTestClass</td><td><a href="#m1">LoginButtonInteraction</a></td><td rowspan="1">1702383901505</td><td rowspan="1">550</td></tr><tr class="passedeven"><td><a href="#m2">LoginButtonVisibility</a></td><td rowspan="1">1702383900476</td><td rowspan="1">557</td></tr><tr class="passedeven"><td><a href="#m3">PasswordFieldInteraction</a></td><td rowspan="1">1702383899566</td><td rowspan="1">548</td></tr><tr class="passedeven"><td><a href="#m4">PasswordFieldVisibility</a></td><td rowspan="1">1702383898603</td><td rowspan="1">562</td></tr><tr class="passedeven"><td><a href="#m5">UsernameFieldInteraction</a></td><td rowspan="1">1702383897654</td><td rowspan="1">550</td></tr><tr class="passedeven"><td><a href="#m6">UsernameFieldVisibility</a></td><td rowspan="1">1702383896329</td><td rowspan="1">585</td></tr><tr class="passedeven"><td><a href="#m7">testLogin</a></td><td rowspan="1">1702383902449</td><td rowspan="1">2074</td></tr></tbody>
</table>
<h2>MyTest</h2><h3 id="m0">loginTest.LoginTestClass#testLogin</h3><table class="result"><tr class="param"><th>Parameter #1</th><th>Parameter #2</th></tr><tr class="param stripe"><td>Admin</td><td>admin123</td></tr><tr><th colspan="2">Exception</th></tr><tr><td colspan="2"><div class="stacktrace">java.lang.AssertionError: Login is not successful expected [https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index] but found [https://opensource-demo.orangehrmlive.com/web/index.php/auth/login]
at loginTest.LoginTestClass.testLogin(LoginTestClass.java:73)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
... Removed 27 stack frames</div></td></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
<h3 id="m1">loginTest.LoginTestClass#LoginButtonInteraction</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
<h3 id="m2">loginTest.LoginTestClass#LoginButtonVisibility</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
<h3 id="m3">loginTest.LoginTestClass#PasswordFieldInteraction</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
<h3 id="m4">loginTest.LoginTestClass#PasswordFieldVisibility</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
<h3 id="m5">loginTest.LoginTestClass#UsernameFieldInteraction</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
<h3 id="m6">loginTest.LoginTestClass#UsernameFieldVisibility</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
<h3 id="m7">loginTest.LoginTestClass#testLogin</h3><table class="result"><tr class="param"><th>Parameter #1</th><th>Parameter #2</th></tr><tr class="param stripe"><td>Admin</td><td>admin123</td></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by org.testng.reporters.JUnitReportReporter -->
<testsuite hostname="NT-PK505local.local" failures="1" tests="8" name="loginTest.LoginTestClass" time="10.404" errors="0" timestamp="2023-12-12T17:25:11 PKT" skipped="0">
<testcase classname="loginTest.LoginTestClass" name="testLogin" time="2.809"/>
<system-out/>
<testcase classname="loginTest.LoginTestClass" name="testLogin" time="1.799">
<failure message="Login is not successful expected [https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index] but found [https://opensource-demo.orangehrmlive.com/web/index.php/auth/login]" type="java.lang.AssertionError">
<![CDATA[java.lang.AssertionError: Login is not successful expected [https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index] but found [https://opensource-demo.orangehrmlive.com/web/index.php/auth/login]
at org.testng.Assert.fail(Assert.java:110)
at org.testng.Assert.failNotEquals(Assert.java:1413)
at org.testng.Assert.assertEqualsImpl(Assert.java:149)
at org.testng.Assert.assertEquals(Assert.java:131)
at org.testng.Assert.assertEquals(Assert.java:655)
at loginTest.LoginTestClass.testLogin(LoginTestClass.java:73)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:677)
at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:221)
at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:969)
at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:194)
at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:148)
at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at org.testng.TestRunner.privateRun(TestRunner.java:829)
at org.testng.TestRunner.run(TestRunner.java:602)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:437)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:431)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:391)
at org.testng.SuiteRunner.run(SuiteRunner.java:330)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1256)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1176)
at org.testng.TestNG.runSuites(TestNG.java:1099)
at org.testng.TestNG.run(TestNG.java:1067)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
]]>
</failure>
</testcase> <!-- testLogin -->
<system-out/>
<testcase classname="loginTest.LoginTestClass" name="UsernameFieldVisibility" time="0.961"/>
<system-out/>
<testcase classname="loginTest.LoginTestClass" name="UsernameFieldInteraction" time="0.911"/>
<system-out/>
<testcase classname="loginTest.LoginTestClass" name="PasswordFieldVisibility" time="1.014"/>
<system-out/>
<testcase classname="loginTest.LoginTestClass" name="PasswordFieldInteraction" time="0.934"/>
<system-out/>
<testcase classname="loginTest.LoginTestClass" name="LoginButtonVisibility" time="0.955"/>
<system-out/>
<testcase classname="loginTest.LoginTestClass" name="LoginButtonInteraction" time="1.021"/>
<system-out/>
</testsuite> <!-- loginTest.LoginTestClass -->
[SuiteResult context=MyTest]
\ No newline at end of file
[SuiteResult context=/Users/adnanzia/IdeaProjects/myorangehrm/pom.xml]
\ No newline at end of file
<table border='1'>
<tr>
<th>Class name</th>
<th>Method name</th>
<th>Groups</th>
</tr><tr>
<td>loginTest.LoginTestClass</td>
<td>&nbsp;</td><td>&nbsp;</td></tr>
<tr>
<td align='center' colspan='3'>@Test</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>PasswordFieldVisibility</td>
<td>LoginUI </td>
</tr>
<tr>
<td>&nbsp;</td>
<td>testLogin</td>
<td>&nbsp;</td></tr>
<tr>
<td>&nbsp;</td>
<td>UsernameFieldInteraction</td>
<td>LoginUI </td>
</tr>
<tr>
<td>&nbsp;</td>
<td>LoginButtonVisibility</td>
<td>LoginUI </td>
</tr>
<tr>
<td>&nbsp;</td>
<td>LoginButtonInteraction</td>
<td>LoginUI </td>
</tr>
<tr>
<td>&nbsp;</td>
<td>PasswordFieldInteraction</td>
<td>LoginUI </td>
</tr>
<tr>
<td>&nbsp;</td>
<td>UsernameFieldVisibility</td>
<td>LoginUI </td>
</tr>
<tr>
<td align='center' colspan='3'>@BeforeClass</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>setUp</td>
<td>&nbsp;</td></tr>
<tr>
<td align='center' colspan='3'>@BeforeMethod</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>goHome</td>
<td>&nbsp;</td></tr>
<tr>
<td align='center' colspan='3'>@AfterMethod</td>
</tr>
<tr>
<td align='center' colspan='3'>@AfterClass</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>tearDown</td>
<td>&nbsp;</td></tr>
</table>
<h2>Groups used for this test run</h2><table border="1">
<tr> <td align="center"><b>Group name</b></td><td align="center"><b>Methods</b></td></tr><tr><td>LoginUI</td><td>LoginTestClass.UsernameFieldVisibility()[pri:1, instance:loginTest.LoginTestClass@589b3632]<br/>LoginTestClass.LoginButtonVisibility()[pri:5, instance:loginTest.LoginTestClass@589b3632]<br/>LoginTestClass.PasswordFieldVisibility()[pri:3, instance:loginTest.LoginTestClass@589b3632]<br/>LoginTestClass.PasswordFieldInteraction()[pri:4, instance:loginTest.LoginTestClass@589b3632]<br/>LoginTestClass.LoginButtonInteraction()[pri:6, instance:loginTest.LoginTestClass@589b3632]<br/>LoginTestClass.UsernameFieldInteraction()[pri:2, instance:loginTest.LoginTestClass@589b3632]<br/></td></tr>
</table>
<html><head><title>Results for All Test Suite</title></head>
<frameset cols="26%,74%">
<frame src="toc.html" name="navFrame">
<frame src="main.html" name="mainFrame">
</frameset>
</html>
<html><head><title>Results for All Test Suite</title></head>
<body>Select a result on the left-hand pane.</body></html>
<h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>All Test Suite</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
<table border="1">
<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:25:01</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.LoginButtonInteraction()[pri:6, instance:loginTest.LoginTestClass@589b3632]">LoginButtonInteraction</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:25:00</td> <td>-1029</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.LoginButtonVisibility()[pri:5, instance:loginTest.LoginTestClass@589b3632]">LoginButtonVisibility</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:24:59</td> <td>-1939</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.PasswordFieldInteraction()[pri:4, instance:loginTest.LoginTestClass@589b3632]">PasswordFieldInteraction</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:24:58</td> <td>-2902</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.PasswordFieldVisibility()[pri:3, instance:loginTest.LoginTestClass@589b3632]">PasswordFieldVisibility</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:24:57</td> <td>-3851</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.UsernameFieldInteraction()[pri:2, instance:loginTest.LoginTestClass@589b3632]">UsernameFieldInteraction</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:24:56</td> <td>-5176</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.UsernameFieldVisibility()[pri:1, instance:loginTest.LoginTestClass@589b3632]">UsernameFieldVisibility</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:24:48</td> <td>-12850</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.setUp()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;setUp</td>
<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:06</td> <td>4798</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;BaseTest.tearDown()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&lt;&lt;tearDown</td>
<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:25:04</td> <td>3395</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.testLogin(java.lang.String,java.lang.String)[pri:0, instance:loginTest.LoginTestClass@589b3632]">testLogin</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:25:04</td> <td>3395</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.testLogin(java.lang.String,java.lang.String)[pri:0, instance:loginTest.LoginTestClass@589b3632]">testLogin</td>
<td>main@723074861</td> <td></td> </tr>
</table>
<h2>Methods that were not run</h2><table>
</table>
\ No newline at end of file
<h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>All Test Suite</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
<table border="1">
<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:24:56</td> <td>-8195</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.UsernameFieldVisibility()[pri:1, instance:loginTest.LoginTestClass@589b3632]">UsernameFieldVisibility</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:25:00</td> <td>-4048</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.LoginButtonVisibility()[pri:5, instance:loginTest.LoginTestClass@589b3632]">LoginButtonVisibility</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:24:58</td> <td>-5921</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.PasswordFieldVisibility()[pri:3, instance:loginTest.LoginTestClass@589b3632]">PasswordFieldVisibility</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:24:57</td> <td>-6870</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.UsernameFieldInteraction()[pri:2, instance:loginTest.LoginTestClass@589b3632]">UsernameFieldInteraction</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:25:04</td> <td>376</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.testLogin(java.lang.String,java.lang.String)[pri:0, instance:loginTest.LoginTestClass@589b3632]">testLogin</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:06</td> <td>1779</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;BaseTest.tearDown()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&lt;&lt;tearDown</td>
<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:24:59</td> <td>-4958</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.PasswordFieldInteraction()[pri:4, instance:loginTest.LoginTestClass@589b3632]">PasswordFieldInteraction</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:25:01</td> <td>-3019</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.LoginButtonInteraction()[pri:6, instance:loginTest.LoginTestClass@589b3632]">LoginButtonInteraction</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:24:48</td> <td>-15869</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.setUp()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;setUp</td>
<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
<tr bgcolor="a0cee9"> <td>23/12/12 17:25:04</td> <td>376</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoginTestClass.testLogin(java.lang.String,java.lang.String)[pri:0, instance:loginTest.LoginTestClass@589b3632]">testLogin</td>
<td>main@723074861</td> <td></td> </tr>
<tr bgcolor="b4b0af"> <td>23/12/12 17:25:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;BaseTest.goHome()[pri:0, instance:loginTest.LoginTestClass@589b3632]">&gt;&gt;goHome</td>
<td>&nbsp;</td> <td>main@723074861</td> <td></td> </tr>
</table>
<h2>Reporter output</h2><table></table>
\ No newline at end of file
<html><head><title>testng.xml for All Test Suite</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt;<br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"https://testng.org/testng-1.0.dtd"&gt;<br/>&lt;suite&nbsp;name="All&nbsp;Test&nbsp;Suite"&nbsp;guice-stage="DEVELOPMENT"&gt;<br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="MyTest"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="loginTest.LoginTestClass"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt;<br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;MyTest&nbsp;--&gt;<br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;All&nbsp;Test&nbsp;Suite&nbsp;--&gt;<br/></tt></body></html>
\ No newline at end of file
<html>
<head>
<title>Results for All Test Suite</title>
<link href="../testng.css" rel="stylesheet" type="text/css" />
<link href="../my-testng.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3><p align="center">Results for<br/><em>All Test Suite</em></p></h3>
<table border='1' width='100%'>
<tr valign='top'>
<td>1 test</td>
<td><a target='mainFrame' href='classes.html'>1 class</a></td>
<td>7 methods:<br/>
&nbsp;&nbsp;<a target='mainFrame' href='methods.html'>chronological</a><br/>
&nbsp;&nbsp;<a target='mainFrame' href='methods-alphabetical.html'>alphabetical</a><br/>
&nbsp;&nbsp;<a target='mainFrame' href='methods-not-run.html'>not run (0)</a></td>
</tr>
<tr>
<td><a target='mainFrame' href='groups.html'>1 group</a></td>
<td><a target='mainFrame' href='reporter-output.html'>reporter output</a></td>
<td><a target='mainFrame' href='testng.xml.html'>testng.xml</a></td>
</tr></table>
<table width='100%' class='test-failed'>
<tr><td>
<table style='width: 100%'><tr><td valign='top'>MyTest (7/1/0)</td><td valign='top' align='right'>
<a href='MyTest.html' target='mainFrame'>Results</a>
</td></tr></table>
</td></tr><p/>
</table>
</body></html>
\ No newline at end of file
<html>
<head><title></title><link href="./testng.css" rel="stylesheet" type="text/css" />
<link href="./my-testng.css" rel="stylesheet" type="text/css" />
</head><body>
<h2><p align='center'>Test results</p></h2>
<table border='1' width='100%' class='main-page'><tr><th>Suite</th><th>Passed</th><th>Failed</th><th>Skipped</th><th>testng.xml</th></tr>
<tr align='center' class='invocation-failed'><td><em>Total</em></td><td><em>7</em></td><td><em>1</em></td><td><em>0</em></td><td>&nbsp;</td></tr>
<tr align='center' class='invocation-failed'><td><a href='All Test Suite/index.html'>All Test Suite</a></td>
<td>7</td><td>1</td><td>0</td><td><a href='All Test Suite/testng.xml.html'>Link</a></td></tr></table></body></html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Failed suite [All Test Suite]" guice-stage="DEVELOPMENT">
<test thread-count="5" name="MyTest(failed)">
<classes>
<class name="loginTest.LoginTestClass">
<methods>
<include name="setUp"/>
<include name="tearDown"/>
<include name="goHome"/>
<include name="testLogin" invocation-numbers="1"/>
</methods>
</class> <!-- loginTest.LoginTestClass -->
</classes>
</test> <!-- MyTest(failed) -->
</suite> <!-- Failed suite [All Test Suite] -->
body {
margin: 0 0 5px 5px;
}
ul {
margin: 0;
}
li {
list-style-type: none;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.navigator-selected {
background: #ffa500;
}
.wrapper {
position: absolute;
top: 60px;
bottom: 0;
left: 400px;
right: 0;
overflow: auto;
}
.navigator-root {
position: absolute;
top: 60px;
bottom: 0;
left: 0;
width: 400px;
overflow-y: auto;
}
.suite {
margin: 0 10px 10px 0;
background-color: #fff8dc;
}
.suite-name {
padding-left: 10px;
font-size: 25px;
font-family: Times, sans-serif;
}
.main-panel-header {
padding: 5px;
background-color: #9FB4D9; /*afeeee*/;
font-family: monospace;
font-size: 18px;
}
.main-panel-content {
padding: 5px;
margin-bottom: 10px;
background-color: #DEE8FC; /*d0ffff*/;
}
.rounded-window {
border-radius: 10px;
border-style: solid;
border-width: 1px;
}
.rounded-window-top {
border-top-right-radius: 10px 10px;
border-top-left-radius: 10px 10px;
border-style: solid;
border-width: 1px;
overflow: auto;
}
.light-rounded-window-top {
border-top-right-radius: 10px 10px;
border-top-left-radius: 10px 10px;
}
.rounded-window-bottom {
border-style: solid;
border-width: 0 1px 1px 1px;
border-bottom-right-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
overflow: auto;
}
.method-name {
font-size: 12px;
font-family: monospace;
}
.method-content {
border-style: solid;
border-width: 0 0 1px 0;
margin-bottom: 10px;
padding-bottom: 5px;
width: 80%;
}
.parameters {
font-size: 14px;
font-family: monospace;
}
.stack-trace {
white-space: pre;
font-family: monospace;
font-size: 12px;
font-weight: bold;
margin-top: 0;
margin-left: 20px;
}
.testng-xml {
font-family: monospace;
}
.method-list-content {
margin-left: 10px;
}
.navigator-suite-content {
margin-left: 10px;
font: 12px 'Lucida Grande';
}
.suite-section-title {
margin-top: 10px;
width: 80%;
border-style: solid;
border-width: 1px 0 0 0;
font-family: Times, sans-serif;
font-size: 18px;
font-weight: bold;
}
.suite-section-content {
list-style-image: url(bullet_point.png);
}
.top-banner-root {
position: absolute;
top: 0;
height: 45px;
left: 0;
right: 0;
padding: 5px;
margin: 0 0 5px 0;
background-color: #0066ff;
font-family: Times, sans-serif;
color: #fff;
text-align: center;
}
.button{
position: absolute;
margin-left:500px;
margin-top:8px;
background-color: white;
color:#0066ff;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight:bold;
border-color:#0066ff ;
border-radius:25px;
cursor: pointer;
height:30px;
width:150px;
outline:none;
}
.top-banner-title-font {
font-size: 25px;
}
.test-name {
font-family: 'Lucida Grande', sans-serif;
font-size: 16px;
}
.suite-icon {
padding: 5px;
float: right;
height: 20px;
}
.test-group {
font: 20px 'Lucida Grande';
margin: 5px 5px 10px 5px;
border-width: 0 0 1px 0;
border-style: solid;
padding: 5px;
}
.test-group-name {
font-weight: bold;
}
.method-in-group {
font-size: 16px;
margin-left: 80px;
}
table.google-visualization-table-table {
width: 100%;
}
.reporter-method-name {
font-size: 14px;
font-family: monospace;
}
.reporter-method-output-div {
padding: 5px;
margin: 0 0 5px 20px;
font-size: 12px;
font-family: monospace;
border-width: 0 0 0 1px;
border-style: solid;
}
.ignored-class-div {
font-size: 14px;
font-family: monospace;
}
.ignored-methods-div {
padding: 5px;
margin: 0 0 5px 20px;
font-size: 12px;
font-family: monospace;
border-width: 0 0 0 1px;
border-style: solid;
}
.border-failed {
border-top-left-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
border-style: solid;
border-width: 0 0 0 10px;
border-color: #f00;
}
.border-skipped {
border-top-left-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
border-style: solid;
border-width: 0 0 0 10px;
border-color: #edc600;
}
.border-passed {
border-top-left-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
border-style: solid;
border-width: 0 0 0 10px;
border-color: #19f52d;
}
.times-div {
text-align: center;
padding: 5px;
}
.suite-total-time {
font: 16px 'Lucida Grande';
}
.configuration-suite {
margin-left: 20px;
}
.configuration-test {
margin-left: 40px;
}
.configuration-class {
margin-left: 60px;
}
.configuration-method {
margin-left: 80px;
}
.test-method {
margin-left: 100px;
}
.chronological-class {
background-color: skyblue;
border-style: solid;
border-width: 0 0 1px 1px;
}
.method-start {
float: right;
}
.chronological-class-name {
padding: 0 0 0 5px;
color: #008;
}
.after, .before, .test-method {
font-family: monospace;
font-size: 14px;
}
.navigator-suite-header {
font-size: 22px;
margin: 0 10px 5px 0;
background-color: #deb887;
text-align: center;
}
.collapse-all-icon {
padding: 5px;
float: right;
}
/*retro Theme*/
$(document).ready(function() {
$('a.navigator-link').on("click", function() {
// Extract the panel for this link
var panel = getPanelName($(this));
// Mark this link as currently selected
$('.navigator-link').parent().removeClass('navigator-selected');
$(this).parent().addClass('navigator-selected');
showPanel(panel);
});
installMethodHandlers('failed');
installMethodHandlers('skipped');
installMethodHandlers('passed', true); // hide passed methods by default
$('a.method').on("click", function() {
showMethod($(this));
return false;
});
// Hide all the panels and display the first one (do this last
// to make sure the click() will invoke the listeners)
$('.panel').hide();
$('.navigator-link').first().trigger("click");
// Collapse/expand the suites
$('a.collapse-all-link').on("click", function() {
var contents = $('.navigator-suite-content');
if (contents.css('display') == 'none') {
contents.show();
} else {
contents.hide();
}
});
});
// The handlers that take care of showing/hiding the methods
function installMethodHandlers(name, hide) {
function getContent(t) {
return $('.method-list-content.' + name + "." + t.attr('panel-name'));
}
function getHideLink(t, name) {
var s = 'a.hide-methods.' + name + "." + t.attr('panel-name');
return $(s);
}
function getShowLink(t, name) {
return $('a.show-methods.' + name + "." + t.attr('panel-name'));
}
function getMethodPanelClassSel(element, name) {
var panelName = getPanelName(element);
var sel = '.' + panelName + "-class-" + name;
return $(sel);
}
$('a.hide-methods.' + name).on("click", function() {
var w = getContent($(this));
w.hide();
getHideLink($(this), name).hide();
getShowLink($(this), name).show();
getMethodPanelClassSel($(this), name).hide();
});
$('a.show-methods.' + name).on("click", function() {
var w = getContent($(this));
w.show();
getHideLink($(this), name).show();
getShowLink($(this), name).hide();
showPanel(getPanelName($(this)));
getMethodPanelClassSel($(this), name).show();
});
if (hide) {
$('a.hide-methods.' + name).trigger("click");
} else {
$('a.show-methods.' + name).trigger("click");
}
}
function getHashForMethod(element) {
return element.attr('hash-for-method');
}
function getPanelName(element) {
return element.attr('panel-name');
}
function showPanel(panelName) {
$('.panel').hide();
var panel = $('.panel[panel-name="' + panelName + '"]');
panel.show();
}
function showMethod(element) {
var hashTag = getHashForMethod(element);
var panelName = getPanelName(element);
showPanel(panelName);
var current = document.location.href;
var base = current.substring(0, current.indexOf('#'))
document.location.href = base + '#' + hashTag;
var newPosition = $(document).scrollTop() - 65;
$(document).scrollTop(newPosition);
}
function drawTable() {
for (var i = 0; i < suiteTableInitFunctions.length; i++) {
window[suiteTableInitFunctions[i]]();
}
for (var k in window.suiteTableData) {
var v = window.suiteTableData[k];
var div = v.tableDiv;
var data = v.tableData
var table = new google.visualization.Table(document.getElementById(div));
table.draw(data, {
showRowNumber : false
});
}
}
body {
background-color: whitesmoke;
margin: 0 0 5px 5px;
}
ul {
margin-top: 10px;
margin-left:-10px;
}
li {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
padding:5px 5px;
}
a {
text-decoration: none;
color: black;
font-size: 14px;
}
a:hover {
color:black ;
text-decoration: underline;
}
.navigator-selected {
/* #ffa500; Mouse hover color after click Orange.*/
background:#027368
}
.wrapper {
position: absolute;
top: 60px;
bottom: 0;
left: 400px;
right: 0;
margin-right:9px;
overflow: auto;/*imortant*/
}
.navigator-root {
position: absolute;
top: 60px;
bottom: 0;
left: 0;
width: 400px;
overflow-y: auto;/*important*/
}
.suite {
margin: -5px 10px 10px 5px;
background-color: whitesmoke ;/*Colour of the left bside box*/
}
.suite-name {
font-size: 24px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;/*All TEST SUITE*/
color: white;
}
.main-panel-header {
padding: 5px;
background-color: #027368; /*afeeee*/;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color:white;
font-size: 18px;
}
.main-panel-content {
padding: 5px;
margin-bottom: 10px;
background-color: #CCD0D1; /*d0ffff*/; /*Belongs to backGround of rightSide boxes*/
}
.rounded-window {
border-style: dotted;
border-width: 1px;/*Border of left Side box*/
background-color: whitesmoke;
border-radius: 10px;
}
.rounded-window-top {
border-top-right-radius: 10px 10px;
border-top-left-radius: 10px 10px;
border-style: solid;
border-width: 1px;
overflow: auto;/*Top of RightSide box*/
}
.light-rounded-window-top {
background-color: #027368;
padding-left:120px;
border-radius: 10px;
}
.rounded-window-bottom {
border-bottom-right-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
overflow: auto;/*Bottom of rightSide box*/
}
.method-name {
font-size: 14px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: bold;
}
.method-content {
border-style: solid;
border-width: 0 0 1px 0;
margin-bottom: 10px;
padding-bottom: 5px;
width: 100%;
}
.parameters {
font-size: 14px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.stack-trace {
white-space: pre;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
font-weight: bold;
margin-top: 0;
margin-left: 20px; /*Error Stack Trace Message*/
}
.testng-xml {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.method-list-content {
margin-left: 10px;
}
.navigator-suite-content {
margin-left: 10px;
font: 12px 'Lucida Grande';
}
.suite-section-title {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
font-weight:bold;
background-color: #8C8887;
margin-left: -10px;
margin-top:10px;
padding:6px;
}
.suite-section-content {
list-style-image: url(bullet_point.png);
background-color: whitesmoke;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
overflow: hidden;
}
.top-banner-root {
position: absolute;
top: 0;
height: 45px;
left: 0;
right: 0;
padding: 5px;
margin: 0 0 5px 0;
background-color: #027368;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 18px;
color: #fff;
text-align: center;/*Belongs to the Top of Report*//*Status: - Completed*/
}
.top-banner-title-font {
font-size: 25px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 3px;
float: right;
}
.test-name {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
}
.suite-icon {
padding: 5px;
float: right;
height: 20px;
}
.test-group {
font: 20px 'Lucida Grande';
margin: 5px 5px 10px 5px;
border-width: 0 0 1px 0;
border-style: solid;
padding: 5px;
}
.test-group-name {
font-weight: bold;
}
.method-in-group {
font-size: 16px;
margin-left: 80px;
}
table.google-visualization-table-table {
width: 100%;
}
.reporter-method-name {
font-size: 14px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.reporter-method-output-div {
padding: 5px;
margin: 0 0 5px 20px;
font-size: 12px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
border-width: 0 0 0 1px;
border-style: solid;
}
.ignored-class-div {
font-size: 14px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.ignored-methods-div {
padding: 5px;
margin: 0 0 5px 20px;
font-size: 12px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
border-width: 0 0 0 1px;
border-style: solid;
}
.border-failed {
border-radius:2px;
border-style: solid;
border-width: 0 0 0 10px;
border-color: #F20505;
}
.border-skipped {
border-radius:2px;
border-style: solid;
border-width: 0 0 0 10px;
border-color: #F2BE22;
}
.border-passed {
border-radius:2px;
border-style: solid;
border-width: 0 0 0 10px;
border-color: #038C73;
}
.times-div {
text-align: center;
padding: 5px;
}
.suite-total-time {
font: 16px 'Lucida Grande';
}
.configuration-suite {
margin-left: 20px;
}
.configuration-test {
margin-left: 40px;
}
.configuration-class {
margin-left: 60px;
}
.configuration-method {
margin-left: 80px;
}
.test-method {
margin-left: 100px;
}
.chronological-class {
background-color: #CCD0D1;
border-width: 0 0 1px 1px;/*Chronological*/
}
.method-start {
float: right;
}
.chronological-class-name {
padding: 0 0 0 5px;
margin-top:5px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #008;
}
.after, .before, .test-method {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
margin-top:5px;
}
.navigator-suite-header {
font-size: 18px;
margin: 0px 10px 10px 5px;
padding: 5px;
border-radius: 10px;
background-color: #027368;
color: white;
font-weight:bold;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
text-align: center; /*All Suites on top of left box*//*Status: -Completed*/
}
.collapse-all-icon {
padding: 3px;
float: right;
}
.button{
position: absolute;
margin-left:500px;
margin-top:8px;
background-color: white;
color:#027368;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight:bold;
border-color:#027368;
border-radius:25px;
cursor: pointer;
height:30px;
width:150px;
outline: none;
}
/*Author: - Akhil Gullapalli*/
\ No newline at end of file
window.onload = function () {
let cookies = document.cookie;
let cookieValue = cookies.split('=');
if (cookieValue[1] === 'null' || localStorage.getItem('Theme') === 'null') {
document.getElementById('retro').setAttribute('disabled', 'false');
} else if (cookieValue[1] === 'Switch Ultra Theme' ||
localStorage.getItem('Theme') === 'Switch Ultra Theme') {
document.getElementById('button').innerText = "Switch Retro Theme";
document.getElementById('retro').setAttribute('disabled', 'false');
} else if (cookieValue[1] === 'Switch Retro Theme' ||
localStorage.getItem('Theme') === 'Switch Retro Theme') {
if (cookieValue[1] === 'Switch Ultra Theme' ||
localStorage.getItem('Theme') === 'Switch Ultra Theme') {
document.getElementById('button').innerText = "Switch Retro Theme";
document.getElementById('retro').setAttribute('disabled', 'false');
document.getElementById('button').innerText = "Switch Ultra Theme";
document.getElementById('retro').removeAttribute('disabled');
document.getElementById('ultra').setAttribute('disabled', 'false');
localStorage.setItem('Theme', select);
} else if (select === 'Switch Ultra Theme') {
document.getElementById('button').innerText = "Switch Retro Theme";
document.getElementById('ultra').removeAttribute('disabled');
document.getElementById('retro').setAttribute('disabled', 'false');
localStorage.setItem('Theme', select);
}
} else if (cookieValue[1] === 'Switch Retro Theme' ||
localStorage.getItem('Theme') === 'Switch Retro Theme') {
document.getElementById('button').innerText = "Switch Ultra Theme";
document.getElementById('ultra').setAttribute('disabled', 'false');
}
}
document.getElementById('button').onclick = function () {
let select = document.getElementById('button').innerText;
if (select === 'Switch Retro Theme') {
let d = new Date();
days = 365;
d.setTime(+d + (days * 86400000)); //24 * 60 * 60 * 1000
document.cookie = "Theme =" + select + "; expires=" + d.toGMTString() + ";";
document.getElementById('button').innerText = "Switch Ultra Theme";
document.getElementById('retro').removeAttribute('disabled');
document.getElementById('ultra').setAttribute('disabled', 'false');
localStorage.setItem('Theme', select);
} else if (select === 'Switch Ultra Theme') {
let d = new Date();
days = 365;
d.setTime(+d + (days * 86400000)); //24 * 60 * 60 * 1000
document.cookie = "Theme =" + select + "; expires=" + d.toGMTString() + ";";
document.getElementById('button').innerText = "Switch Retro Theme";
document.getElementById('ultra').removeAttribute('disabled');
document.getElementById('retro').setAttribute('disabled', 'false');
localStorage.setItem('Theme', select);
}
}
//Function to mouse hovering affect.
document.getElementById('button').onmouseover = function () {
document.getElementById('button').style.borderRadius = "25px";
document.getElementById('button').style.width = "180px";
document.getElementById('button').style.height = "45px";
document.getElementById('button').style.marginTop = "1px";
}
//Function to mouse out affect
document.getElementById('button').onmouseout = function () {
document.getElementById('button').style.borderRadius = "25px";
document.getElementById('button').style.width = "150px";
document.getElementById('button').style.height = "30px";
document.getElementById('button').style.marginTop = "8px";
}
//This is the file where we handle the switching of the Themes.
/*Author:- Akhil Gullapalli*/
This diff is collapsed.
.invocation-failed, .test-failed { background-color: #DD0000; }
.invocation-percent, .test-percent { background-color: #006600; }
.invocation-passed, .test-passed { background-color: #00AA00; }
.invocation-skipped, .test-skipped { background-color: #CCCC00; }
.main-page {
font-size: x-large;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<test name="MyTest">
<classes>
<class name="loginTest.LoginTestClass"></class>
</classes>
</test>
</suite>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment