我正在录制在线机票预订网站,在录制脚本时,脚本会记录命令,如"点击id = ui-id-25"。完成脚本录制后,单击“播放”以运行当前的测试用例。我收到错误消息,例如'未找到元素ID = ui-id-25'。
所以请让我知道命令的含义'点击id = ui-id-25'以及为什么记录它,即使在运行脚本时我们收到错误消息。
答案 0 :(得分:1)
命令的含义
命令click id=someId
告诉Selenium模拟页面上具有id = "someId"
的元素的点击。如果在执行此命令时页面上没有此id
的元素;我们有错误告诉Element ... not found !
。
为何录制
Selenium IDE记录您在页面中执行的操作。单击页面的一个元素就是一个动作,所以它被记录下来。
为什么我们收到此错误
这实际上是因为Selenium IDE没有记录“等待时间”。如果在录制时,您执行action 1
并等待显示元素(即使0.5秒),然后单击此元素。对于Selenium,这只是两个动作:
action 1
所以在运行测试用例时,它会尝试在执行action 1
后直接单击该元素而无需等待。在这种情况下,它找不到元素并给出错误!
Okey,解决方案是什么?
一个简单的解决方案是添加命令waitForElementPresent
以等待页面上的元素出现,然后再单击它。您可以在记录测试用例时右键单击元素并在单击之前选择此命令。或者,您可以在看到此错误时将其添加到测试用例中。在导致错误的click
命令之前添加它,并为其提供与click
相同的参数(例如,在您的情况下为id = ui-id-25
)
希望这能回答你的问题