#java #selenium
#Ява #селен
Вопрос:
У меня есть столбец в таблице, где может потребоваться либо «Для проверки», либо «отменено», и мне нужно проверить, что после сортировки этого столбца мне нужно сравнить первую строку со второй и найти, что они равны, пока я не найду, что вторая строка равна отмене, если я найду это таким образом в первый раз, это нормально, но если я снова найду их разными, это должно выдать ошибку.
То, что я попробовал прямо сейчас, заключается в том, что я добавил значение, которое обновляется каждый раз, когда значения не равны друг другу. Если x lt;= 1, то все в порядке; если x gt; 1, он вылетает с утверждением, но я нахожу этот способ глупым и пытался найти другой, более оптимизированный способ.
это мой код без добавления этой предыдущей части:
int GarageDernierPage = NbGarageTotal % 10; int NbPage; if (GarageDernierPage != 0) { NbPage = (NbGarageTotal / 10) 1; } else { NbPage = NbGarageTotal / 10; } for (int i = 1; i lt;= NbPage; i ) { if (i lt; NbPage) { wait.until(ExpectedConditions.visibilityOfElementLocated( By.xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")]"))); Thread.sleep(2000); int NbGarageVisible = driver .findElements(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")]")) .size(); for (int j = 0; j lt;= NbGarageVisible; j ) { if (j == 0) { wait.until(ExpectedConditions.visibilityOfElementLocated(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" ((j 1)) "]/div[2]/div/div[2]/div[2]/div[1]"))); String FirstValChar = driver.findElement(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" ((j 1)) "]/div[2]/div/div[2]/div[2]/div[1]")) .getText(); float FirstVal = Float.parseFloat(FirstValChar.replaceAll("[^0-9.]", "")); if (LastValue gt; FirstVal) { OrdreDonnéeEtat = false; Sa.assertEquals(false, true, "Distance of garages between Garage Number " j " and garage number " (j 1) " isnt superior in the page " i); ScreenShot(driver); Reporter.log(FormatMessageError " Distance of garages between Garage Number " j " and garage number " (j 1) " isnt superior in the page " i "lt;/fontgt;"); break; } if (OrdreDonnéeEtat == true) { OrdreDonnéeEtat = true; } } else if (j gt; 0 amp;amp; j lt; NbGarageVisible) { wait.until(ExpectedConditions.visibilityOfElementLocated(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" ((j 1)) "]/div[2]/div/div[2]/div[2]/div[1]"))); String FirstValChar = driver.findElement(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" j "]/div[2]/div/div[2]/div[2]/div[1]")) .getText(); float FirstVal = Float.parseFloat(FirstValChar.replaceAll("[^0-9.]", "")); String SecondValChar = driver.findElement(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" ((j 1)) "]/div[2]/div/div[2]/div[2]/div[1]")) .getText(); float SecondVal = Float.parseFloat(SecondValChar.replaceAll("[^0-9.]", "")); if (FirstVal gt; SecondVal) { OrdreDonnéeEtat = false; Sa.assertEquals(false, true, "Distance of garages between Garage Number " j " and garage number " (j 1) " isnt superior in the page " i); ScreenShot(driver); Reporter.log(FormatMessageError " Distance of garages between Garage Number " j " and garage number " (j 1) " isnt superior in the page " i "lt;/fontgt;"); break; } if (OrdreDonnéeEtat == true) { OrdreDonnéeEtat = true; } } else if (j == NbGarageVisible) { String LastValChar = driver.findElement(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" j "]/div[2]/div/div[2]/div[2]/div[1]")) .getText(); LastValue = Float.parseFloat(LastValChar.replaceAll("[^0-9.]", "")); break; } } wait.until(ExpectedConditions.visibilityOfElementLocated( By.xpath("//span[@class="page-link" and text()="" (i 1) ""]"))); WebElement ClkNextPage = driver .findElement(By.xpath("//span[@class="page-link" and text()="" (i 1) ""]")); js.executeScript("arguments[0].click();", ClkNextPage); } else if (Integer.compare(i, NbPage) == 0) { wait.until(ExpectedConditions.visibilityOfElementLocated( By.xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")]"))); int NbGarageVisible = driver .findElements(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")]")) .size(); for (int j = 0; j lt; NbGarageVisible; j ) { if (j == 0) { wait.until(ExpectedConditions.visibilityOfElementLocated(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" (j 1) "]/div[2]/div/div[2]/div[2]/div[1]"))); String FirstValChar = driver.findElement(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" (j 1) "]/div[2]/div/div[2]/div[2]/div[1]")) .getText(); float FirstVal = Float.parseFloat(FirstValChar.replaceAll("[^0-9.]", "")); if (LastValue gt; FirstVal) { OrdreDonnéeEtat = false; Sa.assertEquals(false, true, "Distance of garages between Garage Number " j " and garage number " (j 1) " isnt superior in the page " i); ScreenShot(driver); Reporter.log(FormatMessageError " Distance of garages between Garage Number " j " and garage number " (j 1) " isnt superior in the page " i "lt;/fontgt;"); break; } if (OrdreDonnéeEtat == true) { OrdreDonnéeEtat = true; } } else if (j gt; 0 amp;amp; j lt; NbGarageVisible) { wait.until(ExpectedConditions.visibilityOfElementLocated(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" j "]/div[2]/div/div[2]/div[2]/div[1]"))); String FirstValChar = driver.findElement(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" j "]/div[2]/div/div[2]/div[2]/div[1]")) .getText(); float FirstVal = Float.parseFloat(FirstValChar.replaceAll("[^0-9.]", "")); String SecondValChar = driver.findElement(By .xpath("//div[@id="garages-list"]/div[contains(@class,"garage-block garage")][" (j 1) "]/div[2]/div/div[2]/div[2]/div[1]")) .getText(); float SecondVal = Float.parseFloat(SecondValChar.replaceAll("[^0-9.]", "")); if (FirstVal gt; SecondVal) { OrdreDonnéeEtat = false; Sa.assertEquals(false, true, "Distance of garages between Garage Number " j " and garage number " (j 1) " isnt superior in the page " i); ScreenShot(driver); Reporter.log(FormatMessageError " Distance of garages between Garage Number " j " and garage number " (j 1) " isnt superior in the page " i "lt;/fontgt;"); break; } if (OrdreDonnéeEtat == true) { OrdreDonnéeEtat = true; } } } } } if (OrdreDonnéeEtat == true) { Reporter.log(FormatMessageSucces " The Distances Were all Goodlt;/fontgt;"); } js.executeScript("arguments[0].click();", DistanceFilter);
Я открыт для предложений.