Алгоритм для проверки сортировки значений

#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);    

Я открыт для предложений.