diff --git a/.classpath b/.classpath index 62a6877..ace8266 100644 --- a/.classpath +++ b/.classpath @@ -6,7 +6,7 @@ - + @@ -17,7 +17,7 @@ - + diff --git a/pom.xml b/pom.xml index 57f10b1..98d3b57 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 1.1.2 jar - 1.8.5 + 1.8.13 ${env.BUILD_ID} ${env.BUILD_NUMBER} ${env.BUILD_TAG} diff --git a/src/main/java/com/orasi/bluesource/AddRoleType.java b/src/main/java/com/orasi/bluesource/AddRoleType.java new file mode 100644 index 0000000..2958ad4 --- /dev/null +++ b/src/main/java/com/orasi/bluesource/AddRoleType.java @@ -0,0 +1,179 @@ +package com.orasi.bluesource; + +import org.openqa.selenium.By; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.Select; +import org.openqa.selenium.support.ui.WebDriverWait; + +import com.orasi.web.OrasiDriver; +import com.orasi.web.webelements.Button; +import com.orasi.web.webelements.Checkbox; +import com.orasi.web.webelements.Element; +import com.orasi.web.webelements.Label; +import com.orasi.web.webelements.Link; +import com.orasi.web.webelements.Listbox; +import com.orasi.web.webelements.Textbox; +import com.orasi.web.webelements.Webtable; +import com.orasi.web.webelements.impl.internal.ElementFactory; + +public class AddRoleType { + + private OrasiDriver driver = null; + + @FindBy(linkText = "Admin") private Link lnkAdminTab; + @FindBy(linkText = "Role Types") private Link lnkRoleTypes; + @FindBy(linkText = "Add New Role Type") private Link lnkAddNewRoleTypeButton; + @FindBy(id = "role_type_name") private Textbox txtRoleName; + @FindBy(id = "role_type_billable") private Checkbox billableCheckBox; + @FindBy(name = "commit") private Button btnCreateRoleType; + @FindBy(css = "table.table-responsive.table-bordered") private Webtable rolesTable; + @FindBy(xpath = "//*[@id=\'new_role\']/div[1]/div/div") private Element billingLbl; + @FindBy(css = "table.table-striped.table-hover") private Webtable projectsTable; + @FindBy(xpath = "//*[@id=\"accordion\"]/div/div[13]/div/div[1]/button[1]") private Button newRoleButton; + @FindBy(xpath = "//*[@id=\"new_role\"]/div[1]/div/div") private Label lblBilling; + @FindBy(id = "role_role_type_id") private Listbox listRoleTypes; + @FindBy(xpath = "//input[@value='Create Role']") private Button btnAssignRoleType; + + private String newRoleTypeName; + + public AddRoleType(OrasiDriver driver){ + this.driver = driver; + ElementFactory.initElements(driver, this); + } + + public void openRoleType() { + + if (lnkAdminTab.isDisplayed() == true) + { + lnkAdminTab.click(); + lnkRoleTypes.click(); + } + } + + public void click_AddNewRoleTypeButton() { + + if (lnkAddNewRoleTypeButton.isDisplayed() == true) + { + + lnkAddNewRoleTypeButton.click(); + } + } + + public void createNewRole(String roleType) { + + this.newRoleTypeName = roleType; + + if (txtRoleName.isDisplayed()==true) { + txtRoleName.sendKeys(newRoleTypeName); + billableCheckBox.uncheck(); + + Select select = new Select(driver.findElement(By.name("role_type[permission]"))); + select.selectByValue("View"); + + btnCreateRoleType.click(); + } + } + + + public boolean verifyNewRole() { + + Boolean verify = true; + + if (rolesTable.isDisplayed() == verify) { + + if (rolesTable.getRowWithCellText(newRoleTypeName) > 0) { + System.out.println("New Role Type is created"); + } + else { + System.out.println("New role type is not created"); + verify = false; + } + } + + return verify; + } + + public int getProjectsTableRows() { + int rowCount = 0; + try + { + rowCount = projectsTable.getRowCount(); + } + catch(NullPointerException e) + { + System.out.println("Null pointer exception, no accounts found \n" + e.getLocalizedMessage()); + } + return (rowCount); + } + + public void openFirstProject() { + if (projectsTable.isDisplayed() == true) { + + if (getProjectsTableRows() > 0) { + projectsTable.getCell(2, 1).findElement( + By.xpath("//*[@id=\'panel_body_1\']/div/table/tbody/tr[1]/td[1]/a")).click(); + } + else { + System.out.println("Projects not found"); + } + } + } + + public void clickNewRole() { + if (newRoleButton.isDisplayed() == true) { + newRoleButton.click(); + } + else { + System.out.println("New Role Button was not found"); + } + } + + public void toggleBilling() { + if (lblBilling.isEnabled() == true) { + String str = lblBilling.getAttribute("class"); + if (str.contains("toggle btn btn-xs btn-primary")) { + lblBilling.jsClick(); + System.out.println("New Label is : " + lblBilling.getAttribute("class")); + } + else { + System.out.println("No need to change because it is already: " + + lblBilling.getAttribute("class")); + } + + } + } + + public void assignNewRole() { + + listRoleTypes.syncVisible(5); + + listRoleTypes.select(newRoleTypeName); + + btnAssignRoleType.click(); + } + + + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/src/main/java/com/orasi/bluesource/LockedTimesheet.java b/src/main/java/com/orasi/bluesource/LockedTimesheet.java new file mode 100644 index 0000000..e0ac977 --- /dev/null +++ b/src/main/java/com/orasi/bluesource/LockedTimesheet.java @@ -0,0 +1,279 @@ +package com.orasi.bluesource; + +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import com.orasi.web.OrasiDriver; +import com.orasi.web.webelements.Button; +import com.orasi.web.webelements.Label; +import com.orasi.web.webelements.Link; +import com.orasi.web.webelements.Listbox; +import com.orasi.web.webelements.Textbox; +import com.orasi.web.webelements.Webtable; +import com.orasi.web.webelements.impl.internal.ElementFactory; + +public class LockedTimesheet { + + private OrasiDriver driver = null; + + /**Page Elements**/ + @FindBy(linkText = "Admin") private Link lnkAdminTab; + @FindBy(linkText = "Timesheet Locks") private Link lnkTimesheetLocks; + @FindBy(linkText = "Logout") private Link lnkLogout; + @FindBy(linkText = "Manage") private Link lnkManage; + @FindBy(linkText = "February") private Link lnkChangeMonth; + @FindBy(linkText = "Employee Reports") private Link lnkEmployeeReports; + @FindBy(linkText = "Time by Project") private Link lnkTimeByProject; + @FindBy(linkText = "Time by Role") private Link lnkTimeByRole; + @FindBy(linkText = "Time by Time Sheet") private Link lnkTimeByTimeSheet; + @FindBy(linkText = "Billing by Project") private Link lnkBillingByProject; + @FindBy(linkText = "Billing by Role") private Link lnkBillingByRole; + @FindBy(linkText = "Combined Total Hours") private Link lnkCombinedTotalHours; + @FindBy(id = "date_month") private Listbox listMonths; + @FindBy(id = "flavor") private Listbox listBillingType; + @FindBy(xpath = "//*[@id='employee_list']/div/span/span[1]/span/span[2]") private Button btnDownArrow; + @FindBy(xpath = "//input[@class='select2-search__field']") private Textbox txtEmployee; + @FindBy(xpath = "//input[@value='Create Lock']") private Button btnCreateLock; + @FindBy(xpath = "//*[@id='notification-area']/div") private Label lblSuccessAlert; + @FindBy(xpath = "//*[@id='reportTable']//*[text()='No results returned by this report']") private Label lblEmployeeReport; + @FindBy(id = "select_date_range") private Button btnGo; + @FindBy(name = "commit") private Button btnGenerateReport; + @FindBy(xpath = "//*[@class=\"time-summary-table table\"]/tbody/tr[4]/td/a") private Button btnAdd; + @FindBy(xpath = "//input[@type='submit' and @value='Submit']") private Button submitTimesheet; + @FindBy(id = "start_date") private Textbox startDateSelector; + @FindBy(id = "end_date") private Textbox endDateSelector; + @FindBy(id = "DataTables_Table_0") private Webtable tblTimesheet; + + + /**Constructor**/ + public LockedTimesheet(OrasiDriver driver){ + this.driver = driver; + ElementFactory.initElements(driver, this); + } + + /* + * Click on accounts tab and then click on timesheet locks + * author: Shahrukh Rehman + */ + public void openLockedTimesheet() { + + if (lnkAdminTab.isDisplayed() == true) + { + lnkAdminTab.click(); + lnkTimesheetLocks.click(); + } + } + + /* + * Create a locked timesheet + * author: Shahrukh Rehman + */ + public void createLockedTimesheet(String month) { + + listMonths.syncVisible(5); + listMonths.select(month); + btnCreateLock.click(); + } + + /* + * Verify successful timesheet lock + * author: Shahrukh Rehman + */ + public boolean verifySuccessAlert() { + + driver.switchTo().alert().accept(); + + Boolean visible = true; + + lblSuccessAlert.syncVisible(10); + + if (lblSuccessAlert.isDisplayed()== visible) { + System.out.println("Timesheet Locked"); + } + else { + visible = false; + } + + return visible; + } + + /* + * Click on logout tab + * author: Shahrukh Rehman + */ + public void logout() { + lnkLogout.syncVisible(10); + lnkLogout.click(); + } + + public void clickManageButton() { + lnkManage.syncVisible(5); + lnkManage.jsClick(); + } + + public void selectMonthWithLockedTimesheet(String month) { + listMonths.syncVisible(5); + listMonths.select(month); + btnGo.click(); + + } + + /* + * Add new timesheet for the employee + * author: Shahrukh Rehman + */ + public void addNewTimesheet(String billingType) { + + btnAdd.syncVisible(10); + btnAdd.click(); + + listBillingType.syncVisible(10); + listBillingType.select(billingType); + + for (int i = 2; i < 7; i++) { + WebElement cellText = driver.findElement(By.xpath("//*[@class=\"time-row\"]/td[" + i + "]/div/input[2]")); + cellText.click(); + cellText.sendKeys("8"); + } + + submitTimesheet.click(); + } + + /* + * Verify timesheet is created + * author: Shahrukh Rehman + */ + public boolean verifySecondSuccessAlert() { + + Boolean visible = true; + + lblSuccessAlert.syncVisible(10); + + if (lblSuccessAlert.isDisplayed()== visible) { + System.out.println("Timesheet Submitted"); + } + else { + visible = false; + } + + return visible; + } + + /* + * Different Login + * author: Shahrukh Rehman + */ + public void newLogin (OrasiDriver driver){ + driver.get("http://10.238.243.127:8080/reporting/login"); + } + + public void clickEmployeeReportsTab() { + + lnkEmployeeReports.syncVisible(10); + lnkEmployeeReports.click(); + } + + /* + * Check time by project + * author: Shahrukh Rehman + */ + public void checkTimeByProjectTab(String employeeFullName, String startDate, String endDate) { + clickEmployeeReportsTab(); + lnkTimeByProject.syncVisible(10); + lnkTimeByProject.click(); + generateReport(employeeFullName, startDate, endDate); + } + + /* + * Check time by Role + * author: Shahrukh Rehman + */ + public void checkTimeByRoleTab(String employeeFullName, String startDate, String endDate) { + clickEmployeeReportsTab(); + lnkTimeByRole.syncVisible(10); + lnkTimeByRole.click(); + generateReport(employeeFullName, startDate, endDate); + } + + /* + * Check time by Timesheet + * author: Shahrukh Rehman + */ + public void checkTimeByTimeSheetTab(String employeeFullName, String startDate, String endDate) { + clickEmployeeReportsTab(); + lnkTimeByTimeSheet.syncVisible(10); + lnkTimeByTimeSheet.click(); + generateReport(employeeFullName, startDate, endDate); + } + + /* + * Check billing by project + * author: Shahrukh Rehman + */ + public void checkBillingByProjectTab(String employeeFullName, String startDate, String endDate) { + clickEmployeeReportsTab(); + lnkBillingByProject.syncVisible(10); + lnkBillingByProject.click(); + generateReport(employeeFullName, startDate, endDate); + } + + /* + * Check billing by role + * author: Shahrukh Rehman + */ + public void checkBillingByRoleTab(String employeeFullName, String startDate, String endDate) { + clickEmployeeReportsTab(); + lnkBillingByRole.syncVisible(10); + lnkBillingByRole.click(); + generateReport(employeeFullName, startDate, endDate); + } + + /* + * Check combined total hours + * author: Shahrukh Rehman + */ + public void checkCombinedTotalHoursTab(String employeeFullName, String startDate, String endDate) { + clickEmployeeReportsTab(); + lnkCombinedTotalHours.syncVisible(10); + lnkCombinedTotalHours.click(); + + btnDownArrow.syncVisible(10); + btnDownArrow.click(); + + txtEmployee.set(employeeFullName); + txtEmployee.sendKeys(Keys.RETURN); + + startDateSelector.set(startDate); + + endDateSelector.set(endDate); + + btnGenerateReport.click(); + + tblTimesheet.syncVisible(10); + } + + /* + * Generate reports for each selection + * author: Shahrukh Rehman + */ + public void generateReport(String employeeFullName, String startDate, String endDate) { + + btnDownArrow.syncVisible(10); + btnDownArrow.click(); + + txtEmployee.set(employeeFullName); + txtEmployee.sendKeys(Keys.RETURN); + + startDateSelector.set(startDate); + + endDateSelector.set(endDate); + + btnGenerateReport.click(); + + lblEmployeeReport.syncVisible(10); + + System.out.println("No reports found"); + } + +} diff --git a/src/main/java/com/orasi/bluesource/VacationReport.java b/src/main/java/com/orasi/bluesource/VacationReport.java new file mode 100644 index 0000000..0ee524b --- /dev/null +++ b/src/main/java/com/orasi/bluesource/VacationReport.java @@ -0,0 +1,94 @@ +package com.orasi.bluesource; + +import org.openqa.selenium.Keys; +import org.openqa.selenium.support.FindBy; + +import com.orasi.web.OrasiDriver; +import com.orasi.web.webelements.Button; +import com.orasi.web.webelements.Link; +import com.orasi.web.webelements.Textbox; +import com.orasi.web.webelements.Webtable; +import com.orasi.web.webelements.impl.internal.ElementFactory; + +public class VacationReport { + + private OrasiDriver driver = null; + + /**Page Elements**/ + @FindBy(linkText = "Employee Reports") private Link lnkEmployeeReports; + @FindBy(linkText = "Vacation") private Link lnkVacation; + @FindBy(xpath = "//*[@id='employee_list']/div/span/span[1]/span/span[2]") private Button btnDownArrow; + @FindBy(xpath = "//input[@class='select2-search__field']") private Textbox txtEmployee; + @FindBy(id = "start_date") private Textbox startDateSelector; + @FindBy(id = "end_date") private Textbox endDateSelector; + @FindBy(name = "commit") private Button btnGenerateReport; + @FindBy(id = "DataTables_Table_0") private Webtable tblVacationTimesheet; + + /**Constructor**/ + public VacationReport(OrasiDriver driver){ + this.driver = driver; + ElementFactory.initElements(driver, this); + } + + public boolean clickEmployeeReportsTab() { + + if (lnkEmployeeReports.syncVisible(10) == true) { + lnkEmployeeReports.click(); + return true; + } + else { + return false; + } + } + + /** + * Check Vacation report tab is clicked + * @author shahrukh.rehman + */ + public boolean clickVacationTab() { + + if (lnkVacation.syncVisible(10) == true) { + lnkVacation.click(); + return true; + } + else { + return false; + } + } + + /** + * @param employeeFullName {@link String} employee's full name + * @param startDate {@link String} Date format MM/DD/YYYY + * @param endDate {@link String} Date format MM/DD/YYYY + * Check Vacation report + * @author shahrukh.rehman + */ + public void generateReport(String employeeFullName, String startDate, String endDate) { + + btnDownArrow.syncVisible(10); + btnDownArrow.click(); + + txtEmployee.set(employeeFullName); + txtEmployee.sendKeys(Keys.RETURN); + + startDateSelector.set(startDate); + + endDateSelector.set(endDate); + + btnGenerateReport.click(); + } + + /** + * Check if Vacation Report Table is displayed + * @author shahrukh.rehman + */ + public boolean vacationTimesheetTableVisible() { + if (tblVacationTimesheet.syncVisible(10) == true) { + + return true; + } + else { + return false; + } + } +} diff --git a/src/test/java/com/bluesource/Admin/Add_Role_Type.java b/src/test/java/com/bluesource/Admin/Add_Role_Type.java new file mode 100644 index 0000000..34e7d15 --- /dev/null +++ b/src/test/java/com/bluesource/Admin/Add_Role_Type.java @@ -0,0 +1,69 @@ +package com.bluesource.Admin; + +import org.testng.ITestContext; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Optional; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; + +import com.orasi.bluesource.Accounts; +import com.orasi.bluesource.AddRoleType; +import com.orasi.bluesource.LoginPage; +import com.orasi.utils.TestReporter; +import com.orasi.web.WebBaseTest; + +public class Add_Role_Type extends WebBaseTest { + + @BeforeMethod + @Parameters({ "runLocation", "browserUnderTest", "browserVersion", + "operatingSystem", "environment" }) + public void setup(@Optional String runLocation, String browserUnderTest, + String browserVersion, String operatingSystem, String environment) { + setApplicationUnderTest("BLUESOURCE"); + setBrowserUnderTest(browserUnderTest); + setBrowserVersion(browserVersion); + setOperatingSystem(operatingSystem); + setRunLocation(runLocation); + setEnvironment(environment); + setThreadDriver(true); + testStart("Create_Basic_Employee"); + } + + @AfterMethod + public void close(ITestContext testResults){ + endTest("TestAlert", testResults); + } + + @Test(groups = {"smoke"} ) + public void addNewRoleType() { + + TestReporter.setDebugLevel(2); + + TestReporter.logScenario("Add Role Type"); + + setPageURL("http://10.238.243.127/login"); + + testStart("Add Role Type"); + + LoginPage loginPage = new LoginPage(getDriver()); + Accounts accounts = new Accounts(getDriver()); + loginPage.LoginWithCredentials("company.admin", "anything"); + + AddRoleType addNewRoleType = new AddRoleType(getDriver()); + addNewRoleType.openRoleType(); + addNewRoleType.click_AddNewRoleTypeButton(); + addNewRoleType.createNewRole("Automation Tester"); + + if (addNewRoleType.verifyNewRole() == true) { + accounts.click_accounts_tab("company.admin"); + + accounts.clickFirstAccountLink(); + addNewRoleType.openFirstProject(); + addNewRoleType.clickNewRole(); + addNewRoleType.toggleBilling(); + addNewRoleType.assignNewRole(); + } + } + +} diff --git a/src/test/java/com/bluesource/Admin/Locked_Timesheet.java b/src/test/java/com/bluesource/Admin/Locked_Timesheet.java new file mode 100644 index 0000000..f68018d --- /dev/null +++ b/src/test/java/com/bluesource/Admin/Locked_Timesheet.java @@ -0,0 +1,71 @@ +package com.bluesource.Admin; + +import org.testng.ITestContext; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Optional; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; + +import com.orasi.bluesource.LockedTimesheet; +import com.orasi.bluesource.LoginPage; +import com.orasi.utils.TestReporter; +import com.orasi.web.WebBaseTest; + +public class Locked_Timesheet extends WebBaseTest { + + @BeforeMethod + @Parameters({ "runLocation", "browserUnderTest", "browserVersion", + "operatingSystem", "environment" }) + public void setup(@Optional String runLocation, String browserUnderTest, + String browserVersion, String operatingSystem, String environment) { + setApplicationUnderTest("BLUESOURCE"); + setBrowserUnderTest(browserUnderTest); + setBrowserVersion(browserVersion); + setOperatingSystem(operatingSystem); + setRunLocation(runLocation); + setEnvironment(environment); + setThreadDriver(true); + testStart("Create_Basic_Employee"); + } + + @AfterMethod + public void close(ITestContext testResults){ + endTest("TestAlert", testResults); + } + + @Test(groups = {"smoke"} ) + public void testLockedTimesheet() { + TestReporter.setDebugLevel(2); + + TestReporter.logScenario("Test Locked Timesheet"); + + setPageURL("http://10.238.243.127/login"); + + testStart("Test Locked Timesheet"); + + LoginPage loginPage = new LoginPage(getDriver()); + LockedTimesheet lockedTimesheet = new LockedTimesheet(getDriver()); + + loginPage.LoginWithCredentials("company.admin", "anything"); + lockedTimesheet.openLockedTimesheet(); + lockedTimesheet.createLockedTimesheet("February"); + lockedTimesheet.verifySuccessAlert(); + lockedTimesheet.logout(); + loginPage.verifyPageIsLoaded(); + loginPage.LoginWithCredentials("bbbb", "anything"); + lockedTimesheet.clickManageButton(); + lockedTimesheet.selectMonthWithLockedTimesheet("February"); + lockedTimesheet.addNewTimesheet("Bench"); + lockedTimesheet.verifySecondSuccessAlert(); + lockedTimesheet.logout(); + lockedTimesheet.newLogin(getDriver()); + loginPage.LoginWithCredentials("company.admin", "anything"); + lockedTimesheet.checkTimeByProjectTab("bbbb bbbb", "02/05/2018", "02/11/2018"); + lockedTimesheet.checkTimeByRoleTab("bbbb bbbb", "02/05/2018", "02/11/2018"); + lockedTimesheet.checkTimeByTimeSheetTab("bbbb bbbb", "02/05/2018", "02/11/2018"); + lockedTimesheet.checkBillingByProjectTab("bbbb bbbb", "02/05/2018", "02/11/2018"); + lockedTimesheet.checkBillingByRoleTab("bbbb bbbb", "02/05/2018", "02/11/2018"); + lockedTimesheet.checkCombinedTotalHoursTab("bbbb bbbb", "02/05/2018", "02/11/2018"); + } +} diff --git a/src/test/java/com/bluesource/Admin/Vacation_Report.java b/src/test/java/com/bluesource/Admin/Vacation_Report.java new file mode 100644 index 0000000..867bc9e --- /dev/null +++ b/src/test/java/com/bluesource/Admin/Vacation_Report.java @@ -0,0 +1,61 @@ +package com.bluesource.Admin; + +import org.testng.ITestContext; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Optional; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; +import com.orasi.bluesource.LoginPage; +import com.orasi.bluesource.VacationReport; +import com.orasi.utils.TestReporter; +import com.orasi.web.WebBaseTest; + +public class Vacation_Report extends WebBaseTest { + + @BeforeMethod + @Parameters({ "runLocation", "browserUnderTest", "browserVersion", + "operatingSystem", "environment" }) + public void setup(@Optional String runLocation, String browserUnderTest, + String browserVersion, String operatingSystem, String environment) { + setApplicationUnderTest("BLUESOURCE"); + setBrowserUnderTest(browserUnderTest); + setBrowserVersion(browserVersion); + setOperatingSystem(operatingSystem); + setRunLocation(runLocation); + setEnvironment(environment); + setThreadDriver(true); + testStart("Pull Vacation Report"); + } + + @AfterMethod + public void close(ITestContext testResults){ + endTest("TestAlert", testResults); + } + + @Test(groups = {"smoke"} ) + public void testLockedTimesheet() { + TestReporter.setDebugLevel(2); + + TestReporter.logScenario("Pull Vacation Report"); + + setPageURL("http://10.238.243.127:8080/reporting/login"); + + testStart("Pull Vacation Report"); + + LoginPage loginPage = new LoginPage(getDriver()); + VacationReport vacationReport = new VacationReport(getDriver()); + + TestReporter.assertTrue(loginPage.verifyPageIsLoaded(), "Page Loaded"); + + loginPage.LoginWithCredentials("company.admin", "anything"); + + TestReporter.assertTrue(vacationReport.clickEmployeeReportsTab(), "Employee Reports Tab is clicked"); + + TestReporter.assertTrue(vacationReport.clickVacationTab(), "Vacation Tab is clicked"); + + vacationReport.generateReport("bbbb bbbb", "03/05/2018", "03/07/2018"); + + TestReporter.assertTrue(vacationReport.vacationTimesheetTableVisible(), "Vacation Report is generated"); + } +} diff --git a/src/test/resources/sandbox.xml b/src/test/resources/sandbox.xml index 37bb0d4..b5e99b8 100644 --- a/src/test/resources/sandbox.xml +++ b/src/test/resources/sandbox.xml @@ -13,7 +13,8 @@ - + +