我在为基于angularJs的应用程序编写机器人硒测试时遇到了一些麻烦。它看起来像这样:
Open Browser To Login Page
Open Browser ${login} ${browser}
Maximize Browser Window
Set Selenium Speed ${sel_speed}
Wait Until Page Contains Username
Input Username [Arguments] ${username}
Input Text ${username}
Input Password [Arguments] ${password}
Input Text ${password}
Submit Login
Click Button css=button
问题是输入字段已填满,但单击按钮时,angular表示没有输入任何内容。我已经看到在selenium中使用sendKeys方法。 Robot-Selenium不直接公开,但您可以使用Press Key关键字进行模拟,但还有其他问题。
有没有人有一个尝试过的方法来让它发挥作用?或者没有其他人遇到麻烦?
答案 0 :(得分:1)
我找到的解决方案是使用Execute Javascript关键字来使用angular本身来设置字段中的值。我以一种通用的方式创建了一个关键字:
Input Angular [Arguments] ${locator} ${value}
Execute Javascript var el1 = window.angular.element(window.$('#${locator}')); el1.val('${value}'); el1.controller('ngModel').$setViewValue(el1.val());