已知的高优先级 Bug:
#1 楼 @Lihuazhang 恩,中午推一下。
我以前是用 idevice_id -l
来判断的,如果只有一个设备直接就用那个设备执行。
跑多久应该是有参数设置的。
目前用起来其实还是蛮好用的,只是有一个地方不大方便,就是不能灵活关闭每操作一次截图一次。单次 monkey 执行的时间一长电脑内存撑不住。
3、如果想悬赏,请加我微信 TTMMD155
啥意思?
#15 楼 @coffeephantom 应该不行,不过我也没试过。。。
#10 楼 @codeskyblue 大致原理是先检测 app 是否带有 WebView(Android 可以查看有没有 chrome 进程,iOS 具体方法没探究过),然后通过对应的工具(Android 是 ChromeDriver ,iOS 是 ios-webkit-debug-proxy)去和 WebView 通讯,让 WebView 的浏览器内核执行对应的操作。
因为都是遵循 WebDriver 规范的,所以大部分命令可以直接从 appium server 转发给对应的 WebView 控制工具去控制。
测试 WebView 本质上和测试一个网页差不多,可以参考下怎么用 selenium 做 Web 测试。至于部分和原生应用有交互的点,那就得用类似 appium 这种可以自由切换的工具来做了。
试过用命令行是否正常吗?
有几种可能:
PS:markdown 中代码块符号必须单独一行写的,现在写在某一行后面是不会被识别为代码块结束的。
@blackcherry 具体解决方法是啥,正文或者最后的回复里说明一下呗,后面其他同学遇到也可以参考。
#2 楼 @yaming116 我明白你的意思了,对于你提到的这两个接口确实少一个 response 类比较方便。
但从扩展方向考虑,例如给请求里面添加一些类似 token 或者其它用途的、非 node 内部的字段,采用你说的方式扩展起来感觉比较难保证向下兼容。
#2 楼 @yaming116 我看了下目前 testerhome android app 的源码,里面貌似没有这个问题。
它的 node 类是这么设计的:https://github.com/testerhome/A-Native-TesterHome/blob/47e6a8c5e881b4e71d815ad29df78f0db519e467/app/src/main/java/com/testerhome/nativeandroid/models/GetNodesResponse.java ,node 这个节点通过转换会变成类里面一个名为 node 的实例变量,node 本身是 ArrayList ,这样就不需要多写一个类了。
没懂为什么去掉 nodes 这个节点后 javabean 设计起来就能降低重复。能举个具体例子不?
另外,这个不是 OAuth 接口的内容把,OAuch 只有登录时用到,拿到 access token 后就没它啥事了。
你本地执行过吗?你提供信息只能看出是执行到
//Click hamburger menu
wd.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.view.View[1]/android.widget.ImageButton[1]")).click();
的时候找不到对应元素,但具体什么原因需要获取到出错截图、出错时界面的元素控件树情况才能定位。
另外,不推荐直接用录制的脚本来做自动化测试,这种录制出来的 xpath 定位要求太高,可读性也很差,以后维护起来会很累。
外部浏览器是指第三方的浏览器或者系统自带的浏览器?如果是,那么这些浏览器不是可以直接看到 url 吗?
如果你想问的是如何在 UI 自动化用例中获取到网页的 url ,可以尝试截取系统的 intent 进行分析,或者直接在程序中添加相关的日志信息。
这种话题最好是用抛砖引玉的形式开展,这块砖感觉分量不是很够,能否补充一下你目前对于测试用例相关的一些具体的感想或者想法,或者一些好的成功案例?
idevicesyslog
看能否捕获到你的系统日志?markdown 的标题 # 号和文字之间有一个空格。没有空格的就不会识别为标题。详细的语法麻烦参考我们的 排版说明