量角器 - 如何通过自定义(非 HTML)标签定位元素?

Protractor - How to locate element by custom (non HTML) tags?

最近我在使用量角器来自动化使用 HTML 5 , angular 2 , java-script 开发的应用程序。我能够毫无问题地自动化它。但最近开发人员将控件更改为 DevExtreme HTML JS。之后标签被更改(例如 dx-text boxdx-tool-tip 是非 HTML )。所以我现在无法使用量角器实现自动化。我已经尝试了所有可能的组合,但它不起作用。 那么任何人都可以帮助我,无论量角器是否支持 DevExtreme 控件,或者是否有任何替代方案?

下面是新代码的 HTML :-

HTML code

之前我用 id = inputUserName 定位它,它工作正常,但现在它抛出错误。我已经尝试了所有可能的方法来找到它,但没有运气。 谁能告诉我之前是否有人使用过量角器来自动化使用 DevExtreme HTML JS 控件的应用程序?

从技术上讲,它仍然是 HTML。您的问题是您使用的 id 不再附加到输入元素。您现在可以使用 element(by.css('#inputUserName input.dx-texteditor-input')); 注释中的 xpath 解决方案可能有效,但如果密码字段也具有相同的 class 您将拥有多个元素,包括来自父元素的 id 给您一些安全性。