• 微信转账之 BUG at September 22, 2016

    3、如果想悬赏,请加我微信 TTMMD155

    啥意思?

  • CrashMonkey4iOS 试用过程总结 at September 18, 2016

    #93 楼 @qyqzhlw 不用。但要打开开发者模式,打开 UIAutomation 开关。

  • #15 楼 @coffeephantom 应该不行,不过我也没试过。。。

  • #10 楼 @codeskyblue 大致原理是先检测 app 是否带有 WebView(Android 可以查看有没有 chrome 进程,iOS 具体方法没探究过),然后通过对应的工具(Android 是 ChromeDriver ,iOS 是 ios-webkit-debug-proxy)去和 WebView 通讯,让 WebView 的浏览器内核执行对应的操作。

    因为都是遵循 WebDriver 规范的,所以大部分命令可以直接从 appium server 转发给对应的 WebView 控制工具去控制。

    1. 安卓 or iOS ?
    2. 原生 WebView 还是第三方的?

    测试 WebView 本质上和测试一个网页差不多,可以参考下怎么用 selenium 做 Web 测试。至于部分和原生应用有交互的点,那就得用类似 appium 这种可以自由切换的工具来做了。

  • maven 不能下载 jar 包问题 at September 15, 2016

    试过用命令行是否正常吗?

    有几种可能:

    1. maven 命令行配置就不对
    2. maven 命令行配置对了,但 Idea 没有使用和命令行一致的配置

    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 进行分析,或者直接在程序中添加相关的日志信息。

    1. markdown 格式不对,代码需使用代码块,标题样式和超链接的格式都有问题。具体语法请参考 排版说明 更新格式。
    2. 一般 cookie 是放在请求的 header 里面的。具体是怎么做的建议你先抓包看看,然后再通过程序模拟你抓包时的数据包把。
  • 聊聊测试用例之一 at September 11, 2016

    这种话题最好是用抛砖引玉的形式开展,这块砖感觉分量不是很够,能否补充一下你目前对于测试用例相关的一些具体的感想或者想法,或者一些好的成功案例?

  • CrashMonkey4iOS 试用过程总结 at September 09, 2016
    1. 你试下安装 ideviceinstaller 后用 idevicesyslog 看能否捕获到你的系统日志?
    2. 我不大记得这个日志是有 crash 才存还是一直都存了,你先确认下?
  • markdown 的标题 # 号和文字之间有一个空格。没有空格的就不会识别为标题。详细的语法麻烦参考我们的 排版说明

  • 学会如何合理提问,请阅读:https://testerhome.com/topics/587

    这个问题描述太简洁了,请像提 bug 那样专业地提问。

  • 内容不错,很实用。只是标题的 markdown 挂了。麻烦修复下吧。

  • 把详细的错误信息(错误 stack trace 信息)贴上来。现在的错误信息太少了,没看出哪里出错。

    另外,你是怎么用 maven 做得打包也说下吧,如果整个项目可以公开的话建议直接放到 github 上,并说明下你是用什么命令运行项目的,这样方便重现你说的问题。

    PS:不要把录制的脚本看得太重,录制的脚本大多不能直接就作为你日常使用的测试用例,需要后续做一些优化的。

  • #5 楼 @Testersiwang webview 实际用的是 selenium。selenium 对于 isDisplayed 的定义和原生界面的不一样,貌似只要通过滑动能出现的元素 isDisplayed 都不会是 false ,只有隐藏元素(比如设置了 display: none 样式)的才会返回 false 。不过我也不是很确定,建议你去查一下。

  • 不错,这是个很实用的工具。感谢分享~

    PS:部分 markdown 格式有问题,麻烦更正下吧。

  • 支付宝一 bug 描述 at September 08, 2016

    可惜手上没有 8.3 设备。。。

  • info: [debug] executing cmd: E:\android\android-sdk-windows\platform-tools\adb.exe -s 051605559b261e02 shell "am start -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000 -n com.smartcity/com.smartcity.activity.NewVersionMainActivity"
    error: Permission to start activity denied.
    

    应该是你的这个 activity 没有添加外部启动的权限。解决方法确实是修改 AndroidManifest.xml 文件。

    不知道 AndroidManifest.xml 文件是什么,怎么修改的话建议自行百度或者 google 一下吧。这是安卓应用测试工程师的应该了解的知识。

    PS:记得先确认下你的这个 activity 是不是真的是启动时使用的 activity 哦。正常来说一个启动时使用的 activity 不应该会无法被外部启动的。

  • #2 楼 @Testersiwang 额,这次就改吧,不要等以后。

    1. 代码请使用代码块
    2. 你是 Android 还是 iOS 还是 WebView ?对于 WebView 元素,印象中不需要滑动,直接对它执行点击之类的操作它会自动滑动到可显示位置。
  • Appium 1.6.0 beta1 发布 at September 05, 2016

    看了下官方 release note ,自己也试了一下,确实 Xcode 8 开始就没有 UIAutomation 可用了,所以只剩下 WDA 一条路了。