AI测试 此贴讨论一下 AI 在 UI 自动化中的应用,以及个人的一个想法

卖破烂的龙 · 2024年07月10日 · 最后由 卖破烂的龙 回复于 2024年07月12日 · 5758 次阅读

个人做软件测试也有三四年的时间了,对于 UI 自动化这一块的工具想说一下自己的看法。

我这几天在网上搜了一下 AI 在 UI 自动化方面中的文章,发现都还是之前的样子。基本上都是使用 AI 和机器学习技术来增强元素定位的可靠性。传统的元素定位方法(如 XPath 或 CSS 选择器)在页面结构变化时容易失效。然后最近由于个人也学习了一些大模型方面的知识。于是有了下面的一个想法:

  1. 打开浏览器,输入网站之后,进行一个屏幕截图(用于获取你电脑屏幕的分辨率)

  2. 然后在截图中标记出来你的操作(即点击的位置,类似于这种),该标记可以通过调用大模型 OCR 识别,先找出执行顺序,然后找到对应顺序(红色数字)(的可点击区域(红色方框)

  3. 大模型识别出来之后,可以在页面上面进行显示。然后可以对这一步骤 做前置和后置的操作

4.这里说一下跳转(其实跳转在截屏这一步骤就包含了,我们可以这样做)

  1. 然后就是上传文件(这个其实我个人不太懂,我预期是 还是调用截屏。毕竟你做自动化的时候,你的鼠标和眼睛是当前页面,因此我通过点击屏幕也可以实现的)

  2. 然后是最重要的 确认数据正确性(比如我在这个页面添加一个文章,我需要看下列表是否会展示,或者我提交了一个数据,看一下另一个页面的数据是否 +1 等等)这一步我们也可以通过 OCR 实现,就是在前置或者后置中加一个区域识别,比如下面这张图,(我们默认测试数据是固定死的,即每次测试完,数据清理。回到初始状态,比如这里的收藏和点赞数,初始为 0,我预期是 2,如果识别出来不是 2,则用例失败,并截图这样子)

上面是我的一个想法,由于本人技术有限,无法实现,但是灵感来了 挡不住,这一下说出来完 舒服多了,特此记录。这是我的一个想法,能不能实现我也不知道。欢迎大家讨论!

最佳回复

https://tech.meituan.com/2022/09/15/automated-testing-in-meituan.html
这是美团前年的一篇文章,看视频里的实现,是不是类似你想要的。

共收到 4 条回复 时间 点赞

👍 不错的,有点像这个 https://testerhome.com/topics/38617
之前大概试过,主要问题依然是元素标记上有难度,实际跑起来时要处理太多细节了,比如有些要滚动的列表,为了接这个视觉识别,你还得想办法去标记哪个元素可滚动。加之现在挺多前端的都做得挺复杂了,比如用个 canvas 什么的,整体效果并不是很好。

"Testim.io 提供了一个基于 AI 的自动化测试平台,专注于 Web 和移动应用的端到端测试."

https://tech.meituan.com/2022/09/15/automated-testing-in-meituan.html
这是美团前年的一篇文章,看视频里的实现,是不是类似你想要的。

非常感谢大佬的回复🙏。 我针对你提出的问题想了一下,可以用一种专门的页面标记方式来去训练大模型,因为我们都知道。页面上的可点击区域大多数都是不是一个点,而是一个范围。这个时候我们就可以利用这种,我这里举个例子,反正不要用元素这些,就是尽可能以人的视角去实现。这是我的一个想法,不知道可行可行

5楼 已删除
卖破烂的龙 关闭了讨论 07月12日 11:42
卖破烂的龙 重新开启了讨论 07月12日 11:42
卖破烂的龙 关闭了讨论 07月12日 11:42
卖破烂的龙 重新开启了讨论 07月12日 11:42
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册