【发布时间】:2014-08-28 09:34:52
【问题描述】:
我在 Selenium IDE 中运行一个测试用例并得到错误: [错误] 未找到元素 id=ui-id-31。 当我单击要输入值的空框时,会出现此错误。 我尝试过不同的方法,例如“verifyTextPresent”和“waitForElementPresent”,但没有奏效。
有人知道如何处理这个错误吗?
【问题讨论】:
我在 Selenium IDE 中运行一个测试用例并得到错误: [错误] 未找到元素 id=ui-id-31。 当我单击要输入值的空框时,会出现此错误。 我尝试过不同的方法,例如“verifyTextPresent”和“waitForElementPresent”,但没有奏效。
有人知道如何处理这个错误吗?
【问题讨论】:
您似乎正在处理一个 HTML INPUT 标记。 ID 值很可能是动态生成的,这意味着它不会在所有情况下都相同。这就是自动化测试变得更具挑战性和乐趣的地方。需要更复杂的定位器。
我的建议是查看元素的 HTML 源代码以找到实际的 INPUT 标记代码。您可能会看到如下内容:
<INPUT ID='some_value' NAME='some_other_value' CLASS='some_third_value'...>
标签中的属性可能比 ID、NAME 和 CLASS 更多,但你明白了。如果是这种情况,我建议使用 XPATH。 XPATH 是 Selenium IDE 识别的更复杂的元素定位器。 XPATH 定位器以 // 开头,您为其提供标签名称和预期属性。教程在这里,非常有价值:http://www.w3schools.com/xpath/.
在上面的 HTML INPUT 示例中,相对 xpath 将是
//INPUT[@NAME='some_other_value' and @CLASS='some_third_value']
您可以用这个替换目标值“id=ui-id-31”。如果您可以将 INPUT 标记 HTML 代码放入该线程的 cmets 中,我将很高兴评估它并建议 XPATH。
【讨论】: