Не удалось сравнить строку с другой, которая читается из файла свойств - PullRequest
1 голос
/ 03 июня 2019

Я автоматизирую тест выбора местоположения.Опции будут в выпадающем меню.В раскрывающемся меню есть три варианта (местоположения).В зависимости от выбранного местоположения данные на странице будут соответственно изменены.Я пытаюсь сохранить местоположение в свойствах и извлечь из него.Местоположение в файле свойств выглядит следующим образом:

location=UK

Код для получения свойства местоположения:

Properties prop = new Properties();
prop.load(f);
setLocation(prop.getProperty("location"));

Когда я пытаюсь распечатать свойство местоположения, отображается правильное значение,

System.out.println(prop.getProperty("location")); //The value  UK is displayed

Код метода setLocation ():

wait.until(ExpectedConditions.visibilityOf(selectLocation));
selectLocation.click(); //now the dropdown will be displayed
Actions action = new Actions(driver);

if(location == "UK") {
    wait.until(ExpectedConditions.visibilityOf(ukLocation));
    action.moveToElement(ukLocation).click().build().perform();
    }
else if(location == "US") {
        wait.until(ExpectedConditions.visibilityOf(usLocation));
        action.moveToElement(usLocation).click().build().perform();
    }else {
        System.out.println("didn't get the location");
    }

Когда я запускаю код, отображается

"didn't get the location"

.Я реализовал свойства для URL, и это сработало.Здесь я могу получить свойство location и отобразить его на консоли, но проблема возникает при сравнении строк.Метод setLocation () работает, если я передаю строку в качестве местоположения, например:

setLocation("UK"); 

1 Ответ

3 голосов
/ 03 июня 2019

Попробуйте использовать .equals вместо ==.

 if(location.equals("UK")) {
...