【发布时间】:2020-05-14 22:49:57
【问题描述】:
在编写 Flutter Web 应用程序时,我尝试利用基于 Selenium 的 Web-UI-Testing 框架。遗憾的是,我无法通过其 id 或 name 属性识别代表某个颤振小部件的 HTML 元素。 HTML 文档中不存在小部件键。
我设法使用文本小部件内容来查找小部件的文本部分,并且可以找到表示包含文本的小部件的父元素,但这对于图像、画布等来说失败了。
我可以使用任何机制将 id/name(或任何其他标识方式)添加到 HTML 标签汤吗?
使用 JavaScript,有没有办法遍历内部逻辑部件树并从那里得出代表 HTML 元素(例如通过其位置和大小)?
【问题讨论】:
-
嗨@Martin,你到底想达到什么目的?您是否尝试使用 Selenium 并且无法引用该项目?或者您正在修改 DOM 结构/HTML?您是否有机会分享一些关于什么是什么以及应该是什么的示例 HTML?另外,您希望做什么的例子?谢谢。
-
我想识别单个 HTML 元素和它们所代表的小部件。我想(轻松地)以我们习惯的方式端到端测试 Flutter Web 应用程序的 HTML 输出。切换到 Flutter Web 是我们很大一部分需求。
-
我检查了在两个测试框架下编写测试的方式。使用那些我会遇到同样的问题。 Flutter 不会向 HTML 添加任何内容来可靠地识别某些 Widget。
-
我仍然很难想象没有任何源样本的整个混乱,但我查看了示例颤动页面,它们肯定很奇怪。抱歉,如果您已经研究过它:flutter 似乎有自己的测试方法:flutter.dev/docs/cookbook/testing/widget/finders 在您的上下文中这对您有意义吗?
标签: javascript html selenium flutter flutter-web