#java #selenium #testing
#java #селен #тестирование
Вопрос:
Это код:
List<WebElement> ProductPrices1 = driver.findElements(By.className("prc-slg"));
String text1Price = ProductPrices1.get(0).getText();
thread(1500);
element(ClickBucket).click();
thread(1500);
List<WebElement> elements = driver.findElements(By.xpath("//div[contains(@class, 'pb-basket-item-price')]"));
for (WebElement element : elements) {
str = element.getText();
int cntTL = (str.length() - str.replace("TL", "").length()) / 2;
if (2 == cntTL) {
str = str.split("TL")[1].replace(""", "") " TL";
}
}
System.out.println("first value : " text1Price "Bucket Value : " str);
Assert.assertEquals(text1Price,str);
Это результат:
первое значение: 1.189 TL Значение корзины:
1.189 TL
базовая ошибка
: signInTestCase
org.junit.Ошибка сравнения: ожидаемый: <[1.189] TL> но было:<[
1.189 ] TL>
Комментарии:
1. Во втором значении (str) после 1.189 есть пробел, удалите его. Дайте значение str, чтобы я мог проверить.
2. первое значение: 1.699 TLBucket Значение: 1.278 TL Сбой базового кода: signInTestCase org.junit. Ошибка сравнения: ожидалось: <[1.699] TL> но было: <[ 1.278] TL>
3. кстати, basarisiz по-турецки означает «потерпел неудачу»
4. Я имею в виду значение, записанное здесь: str = element.getText();
Ответ №1:
Есть несколько способов решить проблему. Одним из них является:
Assert.assertEquals(text1Price.replace("TL", "").trim(), str.replace("TL", "").trim());
Комментарии:
1. Кстати, эта ошибка возникает только тогда, когда товар имеет скидку.
2. @BatuhanBakar Я думаю, это сработает независимо от того, есть скидка на товар или нет.