Как преобразовать WebElement в строку для оператора if в селене / Java - PullRequest
0 голосов
/ 13 марта 2019

Я автоматизирую интернет-магазин в селене / Java. Если пользователь не выбрал размер продукта, появится сообщение о том, что «это обязательное поле» рядом с размером. Я пытаюсь написать оператор «if», в котором утверждается, присутствует ли это сообщение, и какое действие предпринять, если оно есть, но я не могу заставить его работать. Было бы что-то вроде этого:

 WebElement sizeIsRequiredMsg = driver.findElement(By.cssSelector("#advice-required-entry-select_30765)"));
 WebElement sizeSmallButton = driver.findElement(By.cssSelector("#product_info_add > div.add-to-cart > div > button"))

          if (sizeIsRequiredMsg.equals("This is a required field.")) {
              action.moveToElement(sizeSmallButton);
              action.click();
              action.perform();
        }

Я пробовал несколько разных вариантов, используя сообщение «это обязательное поле» в качестве веб-элемента. Не уверен, что мне нужно как-то преобразовать WebElement для сообщения в строку? Или включить логическое значение? Кто-нибудь может помочь?

1 Ответ

3 голосов
/ 13 марта 2019

Попробуйте использовать getText() примерно так:

РЕДАКТИРОВАТЬ Я добавил правильные cssSelectors и добавил try catch:

WebElement addToCartButton = driver.findElement(By.cssSelector("#product_info_add  button")); 
action.moveToElement(addToCartButton); 
action.click(); 
action.perform(); 

try {
    WebElement sizeIsRequiredMsg = driver.findElement(By.cssSelector(".validation-advice"));
    WebElement sizeSmallButton = driver.findElement(By.cssSelector(".swatches-container .swatch-span:nth-child(2)"))
    if (sizeIsRequiredMsg.getText() == "This is a required field.") {
          action.moveToElement(sizeSmallButton);
          action.click();
          action.perform();
    }

} catch (Exception e) {
    System.out.println(e);
    logger.log(Level.SEVERE, "Exception Occured:", e);
};

Надеюсь, это поможет вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...