javascript - 为 Flutter Web 应用添加 id 或 name 属性或其他标识方式?
问题描述
编写 Flutter Web 应用程序时,我尝试利用基于 Selenium 的 Web-UI-Testing 框架。遗憾的是,我无法通过其 id 或 name 属性识别代表某个颤振小部件的 HTML 元素。HTML 文档中不存在小部件键。
我设法使用文本小部件内容来查找小部件的文本部分,并且可以找到表示包含文本的小部件的父元素,但这对于图像、画布等失败。
我可以使用任何机制将 id/name(或任何其他标识方式)添加到 HTML 标签汤吗?
使用 JavaScript,有没有办法遍历内部逻辑小部件树并从那里得出代表 HTML 元素(例如通过其位置和大小)?
解决方案
我认为使用任何 Selenium 类型的 Flutter Web 测试框架都不是正确的方法。
原因是您(作为 Web 开发人员)无法控制生成的 DOM 的外观。这意味着您不能使用 XPath 和其他方式来选择元素。
我想测试 Flutter 应用程序(包括 Flutter Web)的唯一方法是使用 Flutter Driver: https ://api.flutter.dev/flutter/flutter_driver/flutter_driver-library.html
推荐阅读
- php - PHP - pcntl_fork() 没有运行子进程
- javascript - 在 React 中动态添加子元素(状态数组)
- angular - 当我在 Angular 中调用 API 后初始化套接字时,Websocket 不起作用
- metadata - 更新 Stripe 元数据示例
- apache - htaccess 从 http 重写为 https
- javascript - 使用“getElementById”只让字母&数字&下划线输入
- javascript - React-Native Firebase 身份验证
- c# - 将元素属性绑定到以下元素属性
- java - 在 SQL 中使用批量更新时出现错误 MySQLNonTransientConnectionException
- python - 如何使用 dbus 为函数编写单元测试以从 Spotify 获取信息?