3

我们可以使用按钮的工具提示作为selenium WebDriver中的定位器吗?我遇到了这个问题,因为 selenium webdriver 中提供的默认定位器对我的应用程序元素都没有用。

每次刷新页面时,我正在测试的应用程序中的元素都会随机更改其 Id、Xpath-pos、Xpath-relative Id 和 CSS!这是因为应用程序是在ExtJsHTML 5中创建的。

4

3 回答 3

2

是的你可以。但请显示您的 HTML 代码。没有一般的答案。

例如,这里的这个 ExtJS 演示。http://try.sencha.com/extjs/4.1.1/demos/Ext.Button.tooltip.1/

<button id="button-1009-btnEl" type="button" class="x-btn-center" hidefocus="true" role="button" autocomplete="off" data-qtip="I'm a custom tooltip" style="height: 16px;">
     <span id="button-1009-btnInnerEl" class="x-btn-inner" style="">Button w/ QuickTip (qtip) tooltip</span>
     <span id="button-1009-btnIconEl" class="x-btn-icon "></span>
</button>

工具提示被编码为data-qtip属性。所以你可以使用 CSS Selector 或 XPath 来找到它。

XPath://button[@data-qtip=\"I'm a custom tooltip\"]

CSS:button[data-qtip=\"I'm a custom tooltip\"]

于 2013-11-07T21:15:47.607 回答
1

好问题 !

我想与更多专家讨论它,但据我所知,我认为你不能在 webdriver 中使用工具提示作为定位器!

试试这个流程,可能对你有帮助

  1. 如果您的脚本在 IDE 中失败,请不要打扰
  2. 将其导出到 webdriver/java/Junit
  3. 现在尝试运行 webdriver 脚本。
于 2013-11-07T11:55:34.443 回答
0

如果工具提示在 HTML 中(它必须是),那么您将能够使用 XPath 选择器来查找您的元素。发布包含您要查找的元素的 HTML 片段以获得更多帮助

于 2013-11-07T18:00:15.553 回答