5

我正在尝试在 selenium 中测试使用 angularjs 创建的网页。在此页面上是用户将填写的文本字段。当用户在文本字段中键入时,angular 将拾取每次击键并即时显示预览,准确地填写 stackoverflow 问题如何生成预览。:)

我的问题是我无法弄清楚如何测试它。如果我单击文本字段并键入它就可以了。我尝试过 selenium 类型命令、typeKeys 命令,使用 mousedown 和 mouseup 命令,然后使用 typeKeys 来尝试模仿用户打字。但是它们没有像没有触发事件处理程序一样工作。我需要模仿人类打字的方式,以便触发事件。这就是我的想法,但它不起作用。

<tr>
  <td>mouseDown</td>
  <td>name=appName</td>
  <td></td>
</tr>
<tr>
  <td>mouseUp</td>
  <td>name=appName</td>
  <td></td>
</tr>
<tr>
  <td>typeKeys</td>
  <td>name=appName</td>
  <td>foobar</td>
</tr>

如果有一种使用javascript的方法也是可以接受的。谢谢。

4

2 回答 2

5

我在使用 Selenium IDE 测试 Angular JS 表单字段时遇到了同样的问题。我尝试了几乎所有已知的焦点、单击、clickAt、keypress 等组合。最后发现起作用的是使用 sendKeys 命令将文本放入字段中。所以在 Selenium-IDE 中,命令是

sendKeys | xpath=(//input[@type='text'])[2] | TEXT To Enter

请注意,我使用了 xpath,但我使用什么来标识目标(css=,xpath,//div)并不重要,任何标识符都有效,它只是使用 sendKeys 来完成。

于 2013-02-05T13:20:56.010 回答
1

尝试使用焦点或单击命令。

于 2012-07-24T02:50:28.867 回答