如何在Chrome浏览器中的Geb测试中键入引号和撇号

时间:2014-02-05 20:52:59

标签: google-chrome selenium groovy automated-tests geb

我无法使用ChromeDriver自动在文本字段中键入引号和撇号字符。

通过文本字段,我的意思是通常的输入类型文本元素:

<input type="text" name="form.gps"/>

Geb测试适用于Chrome和Firefox浏览器。

当我作为用户尝试它时,在Geb测试之外,单引号或单撇号的输入什么都不做。引号+空格和撇号+空格的顺序在两种浏览器中都有效。

示例 - 输入GPS坐标。坐标以此格式指定 - 即。 50°5'0.097“N,14°25'39.719”E。

一次设置值不起作用。以下语句确实指定了一个值,但与预期值不同。

$("input", name: "form.gps") = "50°5'0.097\"N, 14°25'39.719\"E"
  • 在Chrome中,会跳过引号和撇号字符 - “50°50.097N,14°2539.719E”。
  • 在Firefox中,最后一个撇号与E合并为Ë - “50°5'0.097”N,14°25'39.719Ë“。这可以通过在第二个”和“50”之后放置空格字符来解决°5'0.097 \“N,14°25'39.719 \”E“终于有效了(虽然仅在Firefox中)。

尝试Slashy-String/50°5'0.097"N,14°25'39.719“E /或左移操作符给出相同的结果。

我尝试逐个字符地输入,每个引号或撇号后面都有一个空格。

def gps = [
    "50", '°', "5", '\'', Keys.SPACE, "0.097", "\"", Keys.SPACE, "N, ", 
    "14", '°', "25", '\'', Keys.SPACE, "39.719", "\"", Keys.SPACE, "E"
]
gps.each { 
    $("input", name: "form.gps") << it 
}

这在Firefox中运行良好,但Chrome中仍然会跳过“和”。

那么,我如何在Chrome中分配我的gps坐标?

0 个答案:

没有答案