List of usage examples for org.openqa.selenium.interactions Actions click
public Actions click()
From source file:com.pentaho.ctools.cdf.CommentComponent.java
License:Apache License
/** * ############################### Test Case 5 ############################### * * Test Case Name://from w w w .j a v a2 s.com * Display Page * Description: * We pretend validate to check if a comment is removed. * Steps: * 1. Add a comment * 2. Remove added comment */ @Test public void tc5_RemoveCoomment_CommentRemoved() { this.log.info("tc5_RemoveCoomment_CommentRemoved"); this.tcRemoveComment = true; /* * Guarantee no comments displayed */ cleanAllComments(); String commentText = "Some comment!"; String noComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.comment")); assertEquals("No Comments to show!", noComments); String addComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.addComment")); assertEquals("Add Comment", addComments); /* * ## Step 1 */ this.elemHelper.ClickJS(driver, By.cssSelector("div.addComment")); //Insert the text this.elemHelper.FindElement(driver, By.cssSelector("textarea.addCommentText")).sendKeys(commentText); this.elemHelper.ClickJS(driver, By.cssSelector("div.saveComment")); //wait for the page rendered wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("div.navigateRefresh"))); //Check if the comment was added String commentAdded = this.elemHelper.WaitForElementPresentGetText(driver, By.xpath("//div[@id='sampleObject']/div/div/div[1]/div[2]/div")); assertEquals(commentAdded, commentText); /* * ## Step 2 */ Actions acts = new Actions(driver); acts.moveToElement(this.elemHelper.FindElement(driver, By.xpath("//div[@id='sampleObject']/div/div/div[1]/div[2]/div"))); acts.build().perform(); acts.perform(); acts.moveToElement(this.elemHelper.FindElement(driver, By.cssSelector("div.archive"))); acts.click(); acts.perform(); //Check we don't have more comments noComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.comment")); assertEquals("No Comments to show!", noComments); addComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.addComment")); assertEquals("Add Comment", addComments); String refreshComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.navigateRefresh")); assertEquals("Refresh", refreshComments); }
From source file:com.pentaho.ctools.cdf.CommentComponent.java
License:Apache License
/** * This method shall clean all existence comments. *//* w w w. ja v a 2s .c om*/ private void cleanAllComments() { this.log.info("Remove comments"); ElementHelper nElemHelper = new ElementHelper(); driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); List<WebElement> listEraseComments = driver.findElements(By.cssSelector("div.archive")); int nIteractions = listEraseComments.size(); this.log.info("Number elements to remove: " + nIteractions); if (nIteractions > 0) { this.log.debug("We have comments to remove"); for (int i = 1; i <= nIteractions; i++) { Actions acts = new Actions(driver); acts.moveToElement(nElemHelper.FindElement(driver, By.xpath("//div[@id='sampleObject']/div/div/div[1]/div[2]/div"))); acts.perform(); acts.moveToElement(nElemHelper.FindElement(driver, By.cssSelector("div.archive"))); acts.click(); acts.perform(); this.log.debug("One comment removed."); } } driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); }
From source file:com.pentaho.ctools.cdf.require.CommentComponent.java
License:Apache License
/** * ############################### Test Case 5 ############################### * * Test Case Name://from w w w.j av a 2 s.co m * Display Page * Description: * We pretend validate to check if a comment is removed. * Steps: * 1. Add a comment * 2. Remove added comment */ @Test public void tc5_RemoveComment_CommentRemoved() { this.log.info("tc5_RemoveComment_CommentRemoved"); this.tcRemoveComment = true; /* * Guarantee no comments displayed */ cleanAllComments(); String commentText = "Some comment!"; String noComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.comment")); assertEquals("No Comments to show!", noComments); String addComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.addComment")); assertEquals("Add Comment", addComments); /* * ## Step 1 */ this.elemHelper.ClickJS(driver, By.cssSelector("div.addComment")); //Insert the text this.elemHelper.FindElement(driver, By.cssSelector("textarea.addCommentText")).sendKeys(commentText); this.elemHelper.ClickJS(driver, By.cssSelector("div.saveComment")); //wait for the page rendered this.elemHelper.WaitForElementPresence(driver, By.cssSelector("div.navigateRefresh")); //Check if the comment was added String commentAdded = this.elemHelper.WaitForElementPresentGetText(driver, By.xpath("//div[@id='sampleObject']/div/div/div[1]/div[2]/div")); assertEquals(commentAdded, commentText); /* * ## Step 2 */ Actions acts = new Actions(driver); acts.moveToElement(this.elemHelper.FindElement(driver, By.xpath("//div[@id='sampleObject']/div/div/div[1]/div[2]/div"))); acts.build().perform(); acts.perform(); acts.moveToElement(this.elemHelper.FindElement(driver, By.cssSelector("div.archive"))); acts.click(); acts.perform(); //Check we don't have more comments noComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.comment")); assertEquals("No Comments to show!", noComments); addComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.addComment")); assertEquals("Add Comment", addComments); String refreshComments = this.elemHelper.WaitForElementPresentGetText(driver, By.cssSelector("div.navigateRefresh")); assertEquals("Refresh", refreshComments); }
From source file:com.pentaho.ctools.cdf.require.CommentComponent.java
License:Apache License
/** * This method shall clean all existence comments. *//*from w w w . java2s .c o m*/ private void cleanAllComments() { this.log.info("Remove comments"); ElementHelper elemHelper = new ElementHelper(); driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); List<WebElement> listEraseComments = driver.findElements(By.cssSelector("div.archive")); int nIteractions = listEraseComments.size(); this.log.info("Number elements to remove: " + nIteractions); if (nIteractions > 0) { this.log.debug("We have comments to remove"); for (int i = 1; i <= nIteractions; i++) { Actions acts = new Actions(driver); acts.moveToElement(elemHelper.FindElement(driver, By.xpath("//div[@id='sampleObject']/div/div/div/div[2]/div[2]"))); acts.perform(); acts.moveToElement(elemHelper.FindElement(driver, By.xpath("//div[@id='sampleObject']/div/div/div/div[2]/div[2]/div"))); acts.click(); acts.perform(); this.log.debug("One comment removed."); } } driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); }
From source file:com.vaadin.testbench.elements.MenuBarElement.java
License:Apache License
private void activateOrOpenSubmenu(WebElement item, boolean alwaysClick) { if (lastItemLocationMovedTo == null || !isAnySubmenuVisible()) { item.click();// w ww.j a va 2 s .co m if (hasSubmenu(item)) { lastItemLocationMovedTo = item.getLocation(); } return; } // Assumes mouse is still at position of last clicked element Actions action = new Actions(getDriver()); action.moveToElement(item); action.build().perform(); if (isLeaf(item) || isSelectedTopLevelItem(item)) { lastItemLocationMovedTo = null; } else { lastItemLocationMovedTo = item.getLocation(); } if (alwaysClick || isLeaf(item) || !isAnySubmenuVisible()) { action = new Actions(getDriver()); action.click(); action.build().perform(); } }
From source file:com.vaadin.testbench.TestBenchElement.java
@Override public void click(int x, int y, Keys... modifiers) { waitForVaadin();/* w w w . j av a 2 s. c om*/ Actions actions = new Actions(getCommandExecutor().getWrappedDriver()); actions.moveToElement(actualElement, x, y); // Press any modifier keys for (Keys modifier : modifiers) { actions.keyDown(modifier); } actions.click(); // Release any modifier keys for (Keys modifier : modifiers) { actions.keyUp(modifier); } actions.build().perform(); }
From source file:dk.dma.ais.abnormal.web.StatisticDataIT.java
License:Open Source License
private void clickOnACell() throws InterruptedException { zoomIntoHelsinore();//from www . j a v a2 s . com waitForCellsToBeDisplayed(); WebElement map = getMap(); Actions actions = new Actions(browser); actions.moveToElement(map, map.getSize().getWidth() / 2, map.getSize().getHeight() / 2); actions.click(); actions.perform(); // Cursor position is exactly in the center of the map browser.findElement(By.id("tab-map")).click(); assertEquals("(5602'05.7\"N, 1238'59.7\"E)", browser.findElement(By.cssSelector("div#cursorpos.useroutput p")).getText()); // Assert statistic data for correct cell displayed final String expectedCellInfo = "Cell id 6249302540 (5602'06.5\"N,1238'53.8\"E) - (5602'00\"N,1239'00.3\"E)"; By actualCellInfoElement = By.cssSelector("div.cell-data-contents > h5"); wait.until(ExpectedConditions.textToBePresentInElement(actualCellInfoElement, expectedCellInfo)); }
From source file:GlennsPack.GlennWebAPI.Bot2048.java
License:Open Source License
public Bot2048() { System.setProperty("webdriver.chrome.driver", "C:/Users/Glenn/Downloads/chromedriver/chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.manage().window().setSize(new Dimension(2000, 800)); driver.get("http://annimon.github.io/16384/"); // try { // Thread.sleep(2000); // } catch (Exception e) { // // FIXME: handle exception // }// w w w . j a v a 2 s .co m // WebElement element = driver.findElement(By.xpath("/html/body/div")); // ("/html/body/div/div[2]")); Actions actions = new Actions(driver); actions.moveToElement(element); actions.click(); CharSequence[] array = { Keys.ARROW_DOWN, Keys.ARROW_LEFT, Keys.ARROW_RIGHT }; for (int i = 0; i < 1000000; i++) { Random random = new Random(); actions.sendKeys(array[random.nextInt(3)]); ; actions.sendKeys(Keys.ARROW_DOWN); actions.build().perform(); try { // Thread.sleep(1); } catch (Exception e) { // FIXME: handle exception } } }
From source file:GlennsPack.GlennWebAPI.Keybr.java
License:Open Source License
public void runer(WebDriver driver) { driver.findElement(By.className("Tour-close")).click(); System.out.println("CLICKED"); ////from w ww.j a va 2 s .c o m try { driver.findElement(By.id("Practice-textInput")).click(); Thread.sleep(1000); WebElement element = driver.findElement(By.id("Practice")); Actions actions = new Actions(driver); actions.moveToElement(element); actions.click(); String abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz[]-.,?!()\"'"; Robot robot = new Robot(); for (int i1 = 0; i1 < 30; i1++) { try { for (int i = 0; i < 200; i++) { String currLetter = driver .findElement(By.cssSelector("span.TextInput-item:nth-child(" + (i + 1) + ")")) .getText(); System.out.println(currLetter); if (!abc.contains(currLetter)) { currLetter = " "; System.out.println("SPACE"); i++; } Thread.sleep(25); robot.keyPress(KeyEvent.getExtendedKeyCodeForChar(currLetter.charAt(0))); actions.build().perform(); robot.keyRelease(KeyEvent.getExtendedKeyCodeForChar(currLetter.charAt(0))); } } catch (Exception e) { System.out.println("Another row done"); } } } catch (Exception e) { e.printStackTrace(); } }
From source file:ObjectRepository.EquipDown.java
public void TestScenario() throws InterruptedException, IOException { System.out.println("Starting Execution on location " + Constant.Location + " to Down Equipment"); //driver.manage().window().setPosition(new Point(1900, 0)); driver.manage().window().maximize(); //driver.manage().window().setPosition(new Point(1900, 0)); driver.findElement(By.xpath("//*[@id='nav']/div[2]/div[1]/div[3]/div[2]")).click(); //click on Personnel menu driver.findElement(By.xpath("//*[@id='nav']/div[2]/div[1]/div[4]/div[2]")).click(); //click on tasks menu //driver.manage().window().setPosition(new Point(-1900, 0)); // List<String> equipmentCategory = new ArrayList<String>(); // equipmentCategory.add("RearLoaders"); // equipmentCategory.add("DualBins"); // equipmentCategory.add("MechanicalBrooms"); // equipmentCategory.add("RoRos"); // equipmentCategory.add("EzPacks"); // equipmentCategory.add("Miscellaneous"); // equipmentCategory.add("Snow"); String[] equipmentCategory = new String[8]; equipmentCategory[0] = ("RearLoaders"); equipmentCategory[1] = ("DualBins"); equipmentCategory[2] = ("MechanicalBrooms"); equipmentCategory[3] = ("AlleyTrucks"); equipmentCategory[4] = ("RoRos"); equipmentCategory[5] = ("EzPacks"); equipmentCategory[6] = ("Miscellaneous"); equipmentCategory[7] = ("Snow"); //opening existing excel file call Data FileInputStream file = new FileInputStream( "C:\\Users\\skashem\\Desktop\\Excel_Selenium_Framework\\431_Down_Equipment.xlsx"); @SuppressWarnings("resource") XSSFWorkbook workbook = new XSSFWorkbook(file); XSSFSheet sheet = workbook.getSheetAt(0); XSSFRow row = null;/*from w w w. j ava2 s .c om*/ int n = 1; SoftAssert softassert = new SoftAssert(); for (int itrCategory = 0; itrCategory < equipmentCategory.length; itrCategory++) { //equipmentCategory.get(itrCategory) //this.j = j; for (int j = 0; j <= Constant.equipIteration - 1; j++) //number of equipment to be down //this.j = j; { //Thread.sleep(300); if (driver .findElement(By.xpath("//*[@id='equip" + equipmentCategory[itrCategory] + "']/div[2]/div")) .isDisplayed()) { String equipInnertext = driver .findElement( By.xpath("//*[@id='equip" + equipmentCategory[itrCategory] + "']/div[2]/div")) .getText(); //this.variableName can be used if two elements have similar functioanlity and you want to split it and call the element from a specific category. That variable can be used outside of if statement and loop statement //String equipInnertext = driver.findElement(By.xpath("//*[@id='equipRearLoaders']/div[2]/div")).getText(); if (equipInnertext.length() > 3) { String[] Innertext = equipInnertext.split("\n"); int i = Constant.GetAllEquipmentCount(Innertext); //@SuppressWarnings("unchecked") List<String> equpNames = Constant.GetAllEquipmentNames(Innertext); // String random = (equpNames[new Random().nextInt(equpNames.length)]); Random rn = new Random(); int randomEqup = rn.nextInt(i); row = sheet.createRow(n); System.out.println("number of total equipment in " + equipmentCategory[itrCategory] + " Before Down is " + i); row.createCell(0).setCellValue(Constant.Location); //location sheet.autoSizeColumn(0); row.createCell(1).setCellValue(Constant.GetDateAndformat(0)); //date sheet.autoSizeColumn(1); String strEquipCount = driver.findElement(By.xpath( "//*[@id='equip" + equipmentCategory[itrCategory] + "']/div[1]/h4/a/span[2]")) .getText(); String intEquipCount = Constant.EquipmentCount(strEquipCount); int intEquipCountBeforeDown = Double.valueOf(intEquipCount).intValue(); System.out.println("Equipment to down is " + equpNames.get(randomEqup)); row.createCell(2).setCellValue(equpNames.get(randomEqup)); //Equipment name from ops-board sheet.autoSizeColumn(2); row.createCell(3).setCellValue(equipmentCategory[itrCategory]); //Equipment category name sheet.autoSizeColumn(3); if (intEquipCountBeforeDown == i) { row.createCell(4).setCellValue(i); //number of equipment within a category Reporter.log( "Passed-Correct number of Equipment displayed on OPS Before down for category " + equipmentCategory[itrCategory] + " is " + i + " for iteration " + (j + 1)); //number of equipment within a category); sheet.autoSizeColumn(4); } else { row.createCell(4).setCellValue("Ops-Board category displays Count as: " + intEquipCountBeforeDown + " but actual equipment count is " + i); //number of equipment within a category //Assert.fail("Failed- InCorrect number of Equipment displayed on OPS after down for category " + equipmentCategory.get(itrCategory) + " is " + i + " for iteration " + (j + 1)); Reporter.log( "Failed- InCorrect number of Equipment displayed on OPS before down for category " + equipmentCategory[itrCategory] + " is " + intEquipCountBeforeDown + " for iteration " + (j + 1)); softassert.assertEquals("Equipment count before down should be " + i, " But equipment count before down is " + intEquipCountBeforeDown); sheet.autoSizeColumn(4); //driver.close(); } String downEquipInnertext = driver.findElement(By.xpath("//*[@id='equipDown']")).getText(); String[] downInnertext = downEquipInnertext.split("\n"); int downItr = Constant.GetAllEquipmentCount(downInnertext); String strDownCount = driver .findElement(By.xpath("//*[@id='allUnavailableEquipment']/div[3]/a/div/span[2]")) .getText(); String intDownCount = Constant.EquipmentCount(strDownCount); int intDownCountBeforeDown = Double.valueOf(intDownCount).intValue(); if (intDownCountBeforeDown == downItr) { row.createCell(5).setCellValue(downItr); //number of equipment within a down category Reporter.log( "Passed-Correct number of Equipment displayed on OPS Before down for Down Category is " + downItr + " for iteration " + (j + 1)); //number of equipment within Down category); System.out.println( "Passed-Correct number of Equipment displayed on OPS Before down for Down Category is " + downItr + " for iteration " + (j + 1)); //number of equipment within Down category); sheet.autoSizeColumn(5); } else { System.out.println( "Failed-Incorrect number of Equipment displayed on OPS Before down for Down Category is " + intDownCountBeforeDown + " for iteration " + (j + 1)); row.createCell(5).setCellValue("Ops-Board category displays Count as: " + intDownCountBeforeDown + " but actual equipment count is " + downItr); //number of equipment within Down category Reporter.log( "Failed- InCorrect number of Equipment displayed on OPS before down for Down category is " + intDownCountBeforeDown + " for iteration " + (j + 1)); softassert.assertEquals( "Equipment count before down in down category should be " + downItr, " But equipment count before down in Down category is " + intDownCountBeforeDown); sheet.autoSizeColumn(5); //driver.close(); } driver.findElement( By.xpath("//span[contains(@class,'piece-of-equipment') and contains(text(),'" + equpNames.get(randomEqup) + "')]")) .click(); String equipDown = driver .findElement(By.xpath("//*[@id='details']/div[1]/div/table/tbody/tr[1]/td[1]/h4")) .getText(); row.createCell(6).setCellValue(equipDown); //Equipment condition before down System.out.println("Equipment Condition is " + equipDown); if (equipDown == "Down") { //j--; //continue; row.createCell(6).setCellValue("Down"); //Equipment condition before down sheet.autoSizeColumn(6); } else { // Thread.sleep(350); driver.findElement( By.xpath("//*[@id='screen1Pane2']/div[2]/div[1]/div/div/span[3]/div/button[2]")) .click(); //click on action drop down if (driver .findElement(By.xpath( "//*[@id='screen1Pane2']/div[2]/div[1]/div/div/span[3]/div/ul/li[5]")) .isDisplayed()) //if down action button is displayed { driver.findElement(By.xpath( "//*[@id='screen1Pane2']/div[2]/div[1]/div/div/span[3]/div/ul/li[5]")) .click(); //clicking on Down action Thread.sleep(1800); String strEquipmentType = driver .findElement(By.xpath("//*[@id='modal']/div[2]/div[1]/div[1]")).getText(); //equipment type modal window row.createCell(7).setCellValue(strEquipmentType); //Equipment Repair Location sheet.autoSizeColumn(7); String strEquipmentOwner = driver .findElement(By.xpath("//*[@id='modal']/div[2]/div[1]/div[2]")).getText(); //equipment Owner modal window row.createCell(8).setCellValue(strEquipmentOwner); //Equipment Repair Location sheet.autoSizeColumn(8); String strEquipmentCurrentLocation = driver .findElement(By.xpath("//*[@id='modal']/div[2]/div[2]/div[1]")).getText(); //equipment Current Location modal window row.createCell(9).setCellValue(strEquipmentCurrentLocation); //Equipment Repair Location modal window sheet.autoSizeColumn(9); String strEquipmentLicense = driver .findElement(By.xpath("//*[@id='modal']/div[2]/div[2]/div[2]")).getText(); //equipment License modal window row.createCell(10).setCellValue(strEquipmentLicense); //Equipment Repair Location sheet.autoSizeColumn(10); //click and enter a down code 1 from drop down driver.findElement(By.xpath("//*[@id='s2id_downCode1']")).click(); String downCodesInnertext = driver .findElement(By.xpath("//div[@id='select2-drop']")).getText(); String[] arrayDownCodeInnertext = downCodesInnertext.split("\n"); List<String> downCodes = Constant.GetAllDropDowns(arrayDownCodeInnertext); int j1 = Constant.GetAllDropDownCount(arrayDownCodeInnertext); int randomDownCode = rn.nextInt(j1); System.out.println( "Down code selected for down code 1 is " + downCodes.get(randomDownCode)); row.createCell(11).setCellValue(downCodes.get(randomDownCode)); //Equipment down code sheet.autoSizeColumn(11); List<WebElement> a = driver.findElements(By .xpath("//input[contains(@id,'s2id_autogen') and contains(@id,'search')]")); Actions actions = new Actions(driver); actions.moveToElement(a.get(0)); actions.click(); actions.sendKeys(downCodes.get(randomDownCode)).perform(); driver.findElement(By.xpath("//*[contains(@id,'select2-results')]/li[1]")).click(); //click and enter a Repair Location from drop down driver.findElement(By.xpath("//*[@id='s2id_repairLocation1']")).click(); String repairLocationInnertext = driver .findElement(By.xpath("//div[@id='select2-drop']")).getText(); String[] arrayRepairLocation = repairLocationInnertext.split("\n"); List<String> repairLocation = Constant.GetAllDropDowns(arrayRepairLocation); //System.out.println("Down code " + repairLocation.get(0)); int k = Constant.GetAllDropDownCount(arrayRepairLocation); int randomRepairLocation = rn.nextInt(k); System.out.println("Repair Location selected for down code 1 is " + repairLocation.get(randomRepairLocation)); row.createCell(12).setCellValue((repairLocation.get(randomRepairLocation))); //Equipment Repair Location sheet.autoSizeColumn(12); actions.moveToElement(a.get(1)); actions.click(); actions.sendKeys(repairLocation.get(randomRepairLocation)).perform(); driver.findElement(By.xpath("//*[contains(@id,'select2-results')]/li[1]")).click(); //Enter Reporter driver.findElement( By.xpath("//*[@id='modal']/div[2]/fieldset[1]/div[2]/div[1]/input")) .sendKeys("Reporter1"); row.createCell(13).setCellValue("Reporter1"); //Equipment Reporter sheet.autoSizeColumn(13); //Thread.sleep(300); //Enter Mechanic driver.findElement( By.xpath("//*[@id='modal']/div[2]/fieldset[1]/div[2]/div[2]/input")) .sendKeys("Mechanic1"); row.createCell(14).setCellValue("Mechanic1"); //Equipment Mechanic sheet.autoSizeColumn(14); //Enter Remarks driver.findElement( By.xpath("//*[@id='modal']/div[2]/fieldset[1]/div[2]/div[3]/input")) .sendKeys("Test"); //Click on Down Button driver.findElement(By.xpath("//*[@id='modal']/div[3]/button[2]")).click(); Thread.sleep(4000); driver.findElement(By.xpath("//*[contains(@ng-click,'closeEquipmentDetailsPane')]")) .click(); //Thread.sleep(1200); } // end of if down action button is displayed } // if equipment is down //Thread.sleep(500); driver.findElement( By.xpath("//span[contains(@class,'piece-of-equipment') and contains(text(),'" + equpNames.get(randomEqup) + "')]")) .click(); Thread.sleep(300); String equipAfterDown = driver .findElement(By.xpath("//*[@id='details']/div[1]/div/table/tbody/tr[1]/td[1]/h4")) .getText(); row.createCell(17).setCellValue(equipAfterDown); //Equipment condition after down driver.findElement(By.xpath("//*[contains(@ng-click,'closeEquipmentDetailsPane')]")) .click(); driver.findElement(By.xpath("//*[@id='nav']/div[2]/div[1]/div[12]/div[2]")).click(); Thread.sleep(1000); String strDownRecentActivity0 = driver .findElement( By.xpath("//*[@id='board']/div[2]/div/div[2]/div[1]/div[1]/div[2]/span[1]")) .getText(); String strDownRecentActivity1 = driver .findElement( By.xpath("//*[@id='board']/div[2]/div/div[2]/div[1]/div[1]/div[2]/span[2]")) .getText(); String strDownRecentActivity2 = driver .findElement( By.xpath("//*[@id='board']/div[2]/div/div[2]/div[1]/div[1]/div[2]/span[3]")) .getText(); String strDownRecentActivity3 = driver .findElement( By.xpath("//*[@id='board']/div[2]/div/div[2]/div[1]/div[1]/div[2]/span[4]")) .getText(); String strDownRecentActivity4 = driver .findElement( By.xpath("//*[@id='board']/div[2]/div/div[2]/div[1]/div[1]/div[2]/span[6]")) .getText(); String strDownActivity = strDownRecentActivity0 + " " + strDownRecentActivity1 + " " + strDownRecentActivity2 + " " + strDownRecentActivity3 + " on " + strDownRecentActivity4; //System.out.println(strDownActivity); if (strDownActivity .matches("(?i).*Downed Equipment.*" + equpNames.get(randomEqup) + ".*")) { System.out.println("Equipment displays in recent activity for iteration " + (j + 1) + " after Down: " + strDownActivity); row.createCell(18).setCellValue(strDownActivity); //Recent Activity after down sheet.autoSizeColumn(18); } else { System.out.println("no records for Equipment appears in recent acitivity for iteration " + (j + 1) + " after Down"); row.createCell(18).setCellValue( "No records for Equipment appears in recent acitivity for iteration "); //Recent Activity after down sheet.autoSizeColumn(18); } Thread.sleep(200); driver.findElement(By.xpath("//*[@id='nav']/div[2]/div[1]/div[12]/div[2]")).click(); String equipInnertextAfter = driver .findElement(By .xpath("//*[@id='equip" + equipmentCategory[itrCategory] + "']/div[2]/div")) .getText(); String[] InnertextAfter = equipInnertextAfter.split("\n"); int iAfter = Constant.GetAllEquipmentCount(InnertextAfter); System.out.println("number of total equipment in " + equipmentCategory[itrCategory] + " After Down is " + iAfter); String strEquipCountAfterDown = driver.findElement(By.xpath( "//*[@id='equip" + equipmentCategory[itrCategory] + "']/div[1]/h4/a/span[2]")) .getText(); String intEquipCountAfterDown = Constant.EquipmentCount(strEquipCountAfterDown); int intEquipCountAfter = Double.valueOf(intEquipCountAfterDown).intValue(); if (intEquipCountAfter != iAfter) { row.createCell(15).setCellValue("Ops-Board category displays Count as: " + intEquipCountAfter + " but actual equipment count is " + iAfter); //number of equipment within a category sheet.autoSizeColumn(15); //Assert.fail("Failed- InCorrect number of Equipment displayed on OPS after down for category " + equipmentCategory.get(itrCategory) + " is " + intEquipCountAfter + " for iteration " + (j + 1)); //driver.close(); // try // { // Softassert.assertTrue(false); softassert.assertEquals("Equipment count after down should be " + iAfter, " But equipment count after down is " + intEquipCountAfter); //intEquipCountAfter // catch(AssertionError e) // { Reporter.log( "Failed- incorrect number of Equipment displayed on OPS after down for category " + equipmentCategory[itrCategory] + " is " + intEquipCountAfter + " for iteration " + (j + 1)); //number of equipment within a category; // } } else { row.createCell(15).setCellValue(iAfter); //number of equipment within a category Reporter.log( "Passed- correct number of Equipment displayed on OPS after down for category " + equipmentCategory[itrCategory] + " is " + iAfter + " for iteration " + (j + 1)); //number of equipment within a category; sheet.autoSizeColumn(15); } String downEquipInnertextAfter = driver.findElement(By.xpath("//*[@id='equipDown']")) .getText(); String[] downInnertextAfter = downEquipInnertextAfter.split("\n"); int downItrAfter = Constant.GetAllEquipmentCount(downInnertextAfter); String strDownCountAfter = driver .findElement(By.xpath("//*[@id='allUnavailableEquipment']/div[3]/a/div/span[2]")) .getText(); String intDownCountAfter = Constant.EquipmentCount(strDownCountAfter); int intDownCountBeforeDownAfter = Double.valueOf(intDownCountAfter).intValue(); if (intDownCountBeforeDownAfter == downItrAfter) { row.createCell(16).setCellValue(downItrAfter); //number of equipment within a down category Reporter.log( "Passed-Correct number of Equipment displayed on OPS After down for Down Category is " + downItrAfter + " for iteration " + (j + 1)); //number of equipment within Down category); System.out.println( "Passed-Correct number of Equipment displayed on OPS After down for Down Category is " + downItrAfter + " for iteration " + (j + 1)); //number of equipment within Down category); sheet.autoSizeColumn(16); } else { System.out.println( "Failed-Incorrect number of Equipment displayed on OPS After down for Down Category is " + intDownCountBeforeDownAfter + " for iteration " + (j + 1)); row.createCell(16).setCellValue( "Ops-Board category displays Count as: " + intDownCountBeforeDownAfter + " but actual equipment count is " + downItrAfter); //number of equipment within Down category Reporter.log( "Failed- InCorrect number of Equipment displayed on OPS After down for Down category is " + intDownCountBeforeDownAfter + " for iteration " + (j + 1)); softassert.assertEquals( "Equipment count After down in down category should be " + downItrAfter, " But equipment count After down in Down category is " + intDownCountBeforeDownAfter); sheet.autoSizeColumn(16); //driver.close(); } Thread.sleep(500); n = n + 1; } else { break; } // end of equipment greater than 3 if } // end of is displayed } // End of number of equipment per category loop } // End of Category loop driver.close(); file.close(); //saving the file as different name FileOutputStream outFile = new FileOutputStream( "C:\\Users\\skashem\\Desktop\\Excel_Selenium_Framework\\431_Down_Equipment_" + Constant.Location + "_" + Constant.GetDateAndformat(0) + ".xlsx"); workbook.write(outFile); outFile.close(); }