【发布时间】:2022-01-10 15:48:18
【问题描述】:
我正在为一个用 JavaScript 编码并使用 Dojo 框架的基于 Web 的应用程序编写一个自动化测试。我可以使用定义明确的 XPATHS 在开发人员工具中找到我希望机器人找到的元素,但是自动化测试无法找到 XPATH 导致的文本。
我的测试代码如下所示:
if verified:
verify_detail.set_pass()
else:
raise AssertionError("Cannot verify detail. Text did not match expected value.")
我在 UI 上查找的文本在配置文件中没有拼写错误。
其他人有这个问题吗? XPATH 在开发者工具中有效,但在运行测试时失败。
编辑 1:
我想我已经找到了导致此问题的原因的线索。机器人必须导航到一个称为详细信息面板的面板。打开后,详细信息面板位于另一个称为电影面板的面板之上。想象一下电影标题列表,通过右键单击电影并从下拉列表中选择“详细信息”来打开详细信息面板。 所以我基本上有一堆面板,我的 XPATH 查询正在点击详细信息窗格下方的窗格,这是我真正需要查看的地方。
有其他人遇到过这个问题吗?
【问题讨论】:
-
作为调试的第一步,打印 html(或保存到文件)并查看它。元素真的存在吗?
-
这可能意味着某些内容是异步加载的,而 Selenium 在该内容可用之前正在寻找目标。
-
@John Gordon - 是的,我已经尝试过了。元素就在那里。
标签: javascript python xpath automated-tests