Selenium Java Webdriver: утверждение двойных кавычек

На веб-сайте отображается следующий текст, который мне нужно подтвердить:

Living Place "123" hasn't been found

У меня есть кусок ghurkin/огурца на веб-странице, мне нужно assert.assertTrue с помощью Selenum Webdriver Java:

The text "Living Place "123" hasn't been found" is present on the page

Код Java, который я написал для этого, выглядит следующим образом:

    @Then("^The Text \"([^\"]*)\" isnt present on the page$")   
    public void not_present(String text) throws Throwable {

    waitForTextInElementVisible(By.id("main-content"), text);
    Assert.assertTrue(driver.findElement(By.id("main-content")).getText().contains(text));
}

Проблема в том, что скрипт Gherkin не может обрабатывать строку таким образом, так как она содержит двойные кавычки. Есть ли способ утвердить точную строку, как указано выше?


person user3356141    schedule 02.05.2014    source источник


Ответы (3)


Я не уверен, что полностью понимаю вашу проблему.

Но вы можете передать строку как "Жилое место \"123\" не найдено". [Примечание \ перед " внутри строки]

Вы можете позвонить следующим образом. not_present("Жилье \"123\" не найдено");

person h4k3r    schedule 02.05.2014

попробуй этот @Then("^The Text \"([^\"]*)\"\d+\"([^\"]*)\" isnt present on the page$"). Это сопоставление шагов будет сопоставлено со строкой в ​​файле функций Then The Text "Living Place "123" hasn't been found" isnt present on the page. Это заменяет текст перед цифрами \"([^\"]*)\" т.е. 'Жилое место', это ищет более чем один символ цифры в кавычках \"\d+\" т.е. 123, и снова часть для соответствия тексту.

person olyv    schedule 02.05.2014
comment
Можете ли вы объяснить свой ответ немного больше? - person Rico; 03.05.2014
comment
Кажется, я знаю, о чем вы говорите, но это не совсем работает... \([^\]*)\ — это стандартная строка, которую мы здесь используем, но ее нужно изменить, но я не знаю, в чем - person user3356141; 06.05.2014

По-видимому, вместо использования \"([^\"]*)\",

Мне пришлось использовать \"(.*)\"

это заставит работать скрипт корнишона:

А на странице присутствует текст "Жилое помещение "123" не найдено"

person user3356141    schedule 06.05.2014