【问题标题】:nightwatch xpath selector not workingnightwatch xpath 选择器不工作
【发布时间】: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[@e​​lement-name= 开头的 xpath “价值”] 工作得很好。任何以 //pre 开头的东西都没有。
  • 如果您需要帮助,请清理数据并生成minimal reproducible example。谢谢。

标签: selenium express xpath nightwatch.js e2e-testing


【解决方案1】:

您可以按照这种方法根据您的场景编写 XPath

//div[@data-pino-name='userIdSection']/pre
//div[@data-pino-name='userIdSection']/pre[@data-pino-name="requiredErrorMessage"]

【讨论】:

  • 编辑了我的答案,请看一下
  • @shaoaib akhtar - 感谢您的回答。不幸的是,这在 nightwatchjs 中不起作用。我认为守夜人的实施方式存在问题。一旦我可以运行 jsfiddle,我将提交问题报告。
猜你喜欢
  • 2023-03-26
  • 2018-01-05
  • 1970-01-01
  • 2020-03-28
  • 2016-07-07
  • 1970-01-01
  • 1970-01-01
  • 2015-08-14
  • 2011-10-13
相关资源
最近更新 更多