感谢支持!
搞半天我以为你们自己训练的模型,结果是调通用大模型接口,那有啥用啊
这类需要调用第三方 AI 的库都有个很大问题,就是 Token 不够。我们公司买了微软 gpt4o 的 token,我试过拿来跑,并发量上去就很容被 ban。目前比较理想情况是,只在校验结果的时候调用,执行步骤交给本地实现。
好东西!比那些个搞 AI 噱头的玩意强太多
用其他一样有 token 限制呀。。跑多了就给你禁用一段时间,除非是自己搭的离线模型
说到底在看别人脸色的情况下,别人模型的规则稍微一变,或者 token 长度限制了就跑不了了。俺们公司买了 gpt4o 做过实验,图像的转成 base64 后,token 长度直接指数级飙升,跑的数量稍微上来一点 API 直接强制停用,速度提不上去。而且基本没优化空间,议价权都在别人手里。私以为搞离线模型才是正道
你说的没错,但也不能套个壳就跑出来说自己实现了吧。。99% 依赖人家的,还得考虑人家给不给你用的问题。所以我也说了用开源离线模型,或者自己训练一个也行吧。但你这一套壳都算不上的东西就拿出来吹的天花乱坠也太跌份了。
一个要调用别人付费模型的库。。不觉得有吹的那么酷炫。。我还以为是自己训练的模型
看了你们说是用 GPT-4o,但 GPT-4o 不是没开源么
前辈的代码我也看过,非常感谢前辈珠玉在前的引导,我这篇的目的更多是想分享自己整个设计思路和过程。要说底层技术,也绕不开安卓 uiautomaor2 不是吗
如果 adb 都没开的话搞不了
我之前写过图像识别的定位方式,包括我现在的 Nico 里其实也有。我个人认为还是只能作为额外的辅助手段,为什么没大面积运用到移动端,根据我以往的工作经验来看一个主要原因还是因为手机分辨率不一致,导致图像 UI 的差别还蛮多的。再加上如果 UI 稍微一变其实定位就不准确,这样一来截图就没有通用性。在大量的脚本编写工作中,通常还需要考虑脚本复用型,如果写一个场景就截一遍图其实还蛮累的。
第二点是与游戏场景不同的是,应用类 app 内大多是文字,对于 openCV 使用特征值 (SIFT,ORB) 的图像识别算法来说,文字的准确率不是特别高,近似的字容易点歪。 举个例子,两个按钮, “同意”,“不同意”。你截个 “同意” 的截图,特征值容易给你识别到 “不同意” 去。想要精准也不是不行,就得各种调整算法参数的阈值。
还有在应用类的 app 测试用,你可能不仅得考虑执行,还得考虑检查,比如检查一个页面的上的出现的文本是否符合预期,对于控件查找,我们可是使用非文本类的比如 id,找到元素之后再获取其文本来进行校验。综合来说,图像点击更适用于游戏场景,控件更合适应用类 app。当然善用二者结合我认为才是最优解。
以上是我个人拙见
底层是依靠图像识别,游戏界面大多靠实时渲染生成,没有控件可查,对游戏测试还是挺好用的。移动端的话,还是得靠截图或者视频传输到 PC 上,直接放手机里太吃资源,限制太多
from auto_nico.android.nico_android import NicoAndroid
nico = NicoAndroid(udid) 抱歉,确实更新了,我这边同步更新了 readme!
如果所有功能都能用 adb 做,就不需要写那么额外的东西,我想我之前的文章里应该解释过为什么了
造更好的用更适配自己项目的轮子,我觉得没啥问题,同时让自己能够更深入了解底层原理
一个最重要的原因是 uiautomator(或者 wda) 的驱动在初始化的时候会前台弹一次,跟我们的测试场景有冲突,我们的需求是需要测试套件全程后台执行。其次就是部署的便利性,appium 有点臃肿。
自动化工具 自动化工具 Nico,从零开始干掉 Appium,移动端自动化测试框架实现(一)https://testerhome.com/topics/40190
自动化工具 Nico,从零开始干掉 Appium,移动端自动化测试框架实现(三)
https://testerhome.com/topics/40232
自动化工具 Nico,从零开始干掉 Appium,移动端自动化测试框架实现(二)https://testerhome.com/topics/40215
自动化工具 Nico,从零开始干掉 Appium,移动端自动化测试框架实现(三)https://testerhome.com/topics/40232
过时倒不会啦,选最适合项目的,用起来最简单方便的就是正确的
底层是调用的安卓原生的 uiautomator 呀,然后后面我们也加入了 iOS 的需求,所以就得继续做
首先非常感谢你的建议!这歌框架一直都是我们内部使用,非常需要额外的建议。
1、这个当时设计的时候就是考虑直接判断,不等超时,不过我觉得你说的有道理,我把超时时间加上了
2、最开始只设计了 scroll 这个方法,就是传方向上下左右滑动,现在我添加了 swipe 和 drag
3、双指和多指的操作我暂时没实现,这个我有空研究一下。
https://testerhome.com/topics/40190 最近刚写了一篇关于自动化的研究,有兴趣可以看看
你这标题党了吧?请告诉我不编译 WDA 怎么运行你这个?
提升效率是一方面,另一方面是希望能减少链路调用,以不同的思路去解决自动化测试的问题,永远没有一种框架是最好的,只能说是最合适的。我做这个框架的初衷也只是为了解决我们公司的 APP 的问题啦。只是在调研的过程中延申出了这些思考,如果能做到 appium 那样的通用,且更轻便不是刚好吗 当然这是一个美好的愿景,我也在朝这方面努力着