一个要调用别人付费模型的库。。不觉得有吹的那么酷炫。。我还以为是自己训练的模型
看了你们说是用 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 那样的通用,且更轻便不是刚好吗 当然这是一个美好的愿景,我也在朝这方面努力着
是的,但其实像 window mac,这种执行方和被执行方都在同一端的其实就非常没法必要再搞个乱孤单通信,appium 这种感觉有点多此一举。
@bioboy @ 王稀饭 抱歉,这篇文章其实没写完,就给出来了,关于二位提出的疑问,我稍后更新解答
哈哈哈这篇文章其实没写完,还在草稿箱中,一不小心给发出来了
“设备上需要有编译好的 wda, wda 的 bundle id 可以使用”
这不是还是要编译 WDA 吗、、
我之前写的那个框架更新了图片识别定位,是基于 openCV 的特征值来做识别的,色彩,分辨率的影响程度不大,我自己还有加算法来除杂,也支持页面上存在多个相同对象的情况。你有需要的话咱们可以交流下
代码已经更新,可以拉最新代码试试,已加入日志系统,还有报错可以看下日志