我正在尝试使用angularjs在selenium中测试网页。在此页面上是用户将填写的文本字段。当用户在文本字段中键入时,angular将拾取每次击键并在运行中显示预览,确切地说填写stackoverflow问题会生成预览。 :)
我的问题是我无法弄清楚如何测试它。如果我单击文本字段并键入它工作。我尝试过selenium type命令,typeKeys命令,使用mousedown和mouseup命令然后键入Key来尝试模仿用户输入。但它们并没有像没有触发事件处理程序一样工作。我需要模仿人类的类型,以便事件触发。这就是我的想法,但它不起作用。
<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的方法也是可以接受的。谢谢。
答案 0 :(得分:5)
我在使用Selenium IDE测试Angular JS表单字段时遇到了同样的问题。我尝试了几乎所有已知的焦点组合,点击,clickAt,按键等。最后发现有效的方法是使用sendKeys命令将文本放入字段中。所以在Selenium-IDE中,命令是
sendKeys | xpath=(//input[@type='text'])[2] | TEXT To Enter
请注意,我使用了xpath,但是我用来识别目标(css =,xpath,// div)并不重要,任何标识符都有效,它只是使用sendKeys来完成这个操作。
答案 1 :(得分:1)
尝试焦点或单击命令。