网站显示我需要声明的以下文字:
Living Place "123" hasn't been found
我在网页上有一块ghurkin / cucumber我需要使用Selenum Webdriver Java来断言.assertTrue:
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脚本不能以这种方式处理String,因为它包含双引号。有没有办法断言上面给出的确切字符串?
答案 0 :(得分:0)
我不确定我是否完全解决了你的问题。
但你可以将字符串传递给" Living Place \" 123 \"还没有找到"。 [注意\之前"里面的字符串]
你可以这样打电话。 not_present(" Living Place \" 123 \"还没有找到");
答案 1 :(得分:0)
试试这个@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中搜索多个数字符号,并再次分配以匹配文本。
答案 2 :(得分:0)
显然,而不是使用 \"([^ \"] *)\",
我不得不使用\"(。*)\"
这将使小黄瓜脚本起作用:
The text" Living Place" 123"还没有找到"出现在页面上