【发布时间】:2016-11-28 22:08:46
【问题描述】:
我目前正在开发一个 node/express.js 应用程序,我正在为此在 nightwatch 中编写一些 e2e 测试。今天,我在尝试使用 XPath 定位器策略搜索元素时遇到了障碍。基本上我可以使用以下任何一种搜索元素:
//div[@data-pino-name='userIdSection']
//input[@name="password"]
//input[@name="username"]
//button[@data-pino-name="submit"]
//a[@data-pino-name="cancel"]
顺便说一句,上面的所有选择器都可以使用 chrome 工具正常工作。
但是,使用以下内容:
//pre[@data-pino-name="requiredErrorMessage"]
根本不起作用。我很惊讶,因为我预计 <pre> 标记将被视为与任何其他 html 标记相同。但是,对于所有带有 pre 标记的元素,测试都会返回“未找到元素”。
任何人的指导将不胜感激。
【问题讨论】:
-
发布您希望从中选择
pre元素的 HTML 或 XML。 -
由于隐私原因,我无法发布整个文档,但文档的结构或多或少是这样的:
<div data-pino-name="root"> <pre data-pino-name="blah"> </pre> <div data-pino-name="foo"> </div> <pre data-pino-name="bar"> </pre> </div>任何以 //div[@element-name= 开头的 xpath “价值”] 工作得很好。任何以 //pre 开头的东西都没有。 -
如果您需要帮助,请清理数据并生成minimal reproducible example。谢谢。
标签: selenium express xpath nightwatch.js e2e-testing