其实这就是我最近一直头疼的东西。ROBOTIUM,APPIUM 只提供 UI 或者功能的 API。封完以后干么呢。
比如这个问题,我们应用有问题,有些功能验证必须删了 APK,重装才能自动化跑下去。ROBOTIUM 自己不能删,我就想知道有没有什么上层工具可以有类似运行 ADB 命令后,再执行 ROBOTIUM 用例的?信息量有些多,感觉相当的混乱中。麻烦诸位了!~SHELL 脚本写批处理,先删了,再运行?这样可行不?
@chenhengjie123 我还处于土鳖的直接用 ECLIPSE 运行 JUNIT TEST 的阶段。
话说我执行测试 APK,不就得加载源 APK,这不是有依赖关系么。。。
我一时还没理顺。。。
个人建议,自己写滑动方法,定位某个元素,滑到滑动后的元素和滑动前位置一致时停止。
@shixue33 MM,个人理解不侵入很难啊,开发如何获取这个拍照结果的方式是什么呢?如果是从图库获取,还可以考虑修改图片之类的。如果是直接数据流那就更烦了吧。
自己编个版本,改图片获取方式吧。要么就手动测算了吧。。。
@pighero001 IOS 的有命令可以截屏?
ANDROID 可以直接取到 IMAGEVIEW 的 VIEW。直接转成 BITMAP。
IOS 的貌似只能通过坐标定位来截全图中的控件图。
screenshotWaitTimeout 参数改到 2 了(貌似最小就是 2,填 1 不生效),目前看 1 幅图还要 10 几秒,也就只能这样了。
@lihuazhang @monkey 谢谢两位,其实开销是可以理解的。
Waiting 10000 ms for screenshot to ge generated.应该是 screenshotWaitTimeout 这个参数吧。明天试试改改这参数,看看有没有速度提升。
PS:从这个参数的字面上的意思来理解,改太小很有可能用都没法用了。~
是的,恒温,iOS 平台的,我一个页面有 800 多个图。
速度成瓶颈了。android 的话,用 robotium 没那么慢。
@xuxu今天才遇到一坑,补充一下,IOS 的图像坐标是需要乘系数的。
如抓到的图片坐标是(2,3,10,11)
实际在 IPHONE6 的截图上坐标是(4,6,20,22)
@chenhengjie123 赞!~
@chenhengjie123 呵呵,下面是我个人理解,供参考:
对于问题 1,感知 HASH 只是最简单的图片识别技术。精度和准确性都有问题,可以这么说是把图转成 8*8 做对比基本没有实用价值。用 PIL 也别用这个算法。~
稍微复杂一点的有 OPENCV 提供的 SIFT 和 SURF 特征点计算(具体实现我没搞明白,肯定有大牛能轻松搞定的。。。)。我个人觉得如果有 GOOGLE,BAIDU 的初级搜图技术,12306 这种封闭的系统,图库必然是有限的,用大量的数据去测试获取原始数据,然后去整合数据,技术上这些应该都不是问题。~
丢第三方图库感觉更不靠谱啊。第三方获得的特征属性不一定是你需要的。
感觉如果图库不更新还有希望。图和关键字对应起来直接放数据库。
感觉限制条件应该有不少:
如果图库过大,就有搜索对比的大量成本。
如果图片更新了,那就更坑了。
赞!看的人打点折,做得人再打点折~
@zhn3431223 你先确认一下问题是不是完全相同,看看打印里面有没有相同的 WARN。我在 MAC 上加了全局变量就 OK 了。
如果没有 WARN 仅仅是 ERROR。这个问题 BAIDU 到的解决方法是 SDK 路径不能带空格。你看看 SDK 路径是不是有问题,尤其是 WINDOWS 系统。
@keen_lau 楼主,对于 LISTVIEW 或者 GROUPVIEW 有好的方法么?
@young 这是弹出对话框 POPUPWINDOWS 吧,没有实践过。给你个建议,你看看好不好用?
先点击红色按钮,弹出对话框,然后用坐标按键的方式的点击弹出框,然后再去看看能不能取到控件。
如果搞定了,发个帖子哈,供后续参考~
同意楼上 weamylady 的观点,实际的自动化可能不太会考虑这个点,成本有点高。~
appium/docs/cn/writing-running-appium/network_connection.md 需要删掉吧?
@doctorq 这个文件是你创建的。
@chenhengjie123
没接触过机顶盒。试着回答一下问题 1。
1:遥控器问题,问题可能是按键也可能是发射模块的问题。主要可能是硬件问题,这个应该不是业务重点,换个器件吧。
2:机顶盒的问题,这个问题就多了,从红外接收器件到机顶盒到电视的接口硬件,软件实现,软件接口都有可能有问题,这个就需要加打印或者调试参数逐层定位了。恒总指正一下?~
ps:恒总能不能多题点类似的问题啊,查漏补缺一下。多谢了!~
求修改成 magicyang~多谢!~
强烈顶下 “勿忘初心”!~
@young 个人觉得问题有点多,供参考:
1.先了解一下 ANDROID 的控件 ID 是什么,然后仔细看一下 SOLO 的文档吧。貌似你填的就不是 ID 吧。。。。
2.ROBOTIUM 的执行速度很快,中间不加延时,可能什么中间过程都看不到。
3.按键后 ACTIVITY 可能会有跳转,每次跳转后,控件 ID 什么的要重新用 UIAUTOMATOR 取。
以下是个人的理解供参考:
一般来说开发对 BUTTON 监听,就是 onClickListener 和 onLongClickListener,你可以去和开发确认一下监听方式。
无论是长按短按,如果你手工测试正常,自动化没道理不跳转啊。所以个人怀疑还是你 BUTTON 的获取是不是有了问题?ID+INDEX 的获取方式?你确认按键后的开发者选项获取到的按键坐标与工具看到的 BUTTON 坐标一致么?(我个人还是喜欢在代码里面取控件坐标打 LOG...)
如果还不行,建议你还是去找开发慢慢谈吧。~~~