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

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

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

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

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

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

  • 支付宝一 bug 描述 at 2016年09月08日

    可惜手上没有 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 2016年09月05日

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

  • 关键日志:

    info: [debug] [BOOTSTRAP] [error] Error processing data to/from socket (java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer))
    

    UIAutomator 的脚本无法接收从 appium server 发出的命令。

  • CrashMonkey4iOS 试用过程总结 at 2016年09月01日

    #87 楼 @moxiaozhou 你可以看下这个参数:

    -n run_count                     How many times monkeys run(default: 1)
    

    这样无论 monkey 是由于 crash 退出还是别的原因,都可以重复执行直到达到你指定的次数。

  • CrashMonkey4iOS 试用过程总结 at 2016年09月01日

    #85 楼 @qyqzhlw 目前所在的公司没有,上一家有,当时用的直接就是 UIAutomation 。

  • CrashMonkey4iOS 试用过程总结 at 2016年09月01日

    #82 楼 @qyqzhlw 那不清楚了,我已经有一段时间没用 CrashMonkey4iOS 了,你上 github 报个 issue ?

  • CrashMonkey4iOS 试用过程总结 at 2016年09月01日

    #79 楼 @qyqzhlw 你这个是啥 device ?看起来不像是设备 udid 。

  • CrashMonkey4iOS 试用过程总结 at 2016年09月01日

    #77 楼 @qyqzhlw 报啥错?

  • 关于 Appium 的一些疑惑 at 2016年09月01日

    #4 楼 @sixleaves 问题在于苹果已经不打算再维护 UIAutomation 了,所以相比之下 XCUITest 相对靠谱一些。而且既然有 facebook 在做维护,苹果新版本跟进速度应该不会太慢。

  • #2 楼 @diao2007 支持,但要收费。你自己搭个 Jenkins 然后装 Travis YML Plugin 应该也能起到类似的效果。

  • 关于 Appium 的一些疑惑 at 2016年09月01日

    #2 楼 @sixleaves 对。严格的说是 XCUITest 相关的 API 。因为这个 API 可以控制任意界面(包括非这个项目的界面),所以就可以控制你的被测应用界面咯

  • #15 楼 @testblue 哈哈,临时写出来的例子,写得确实不好。不过你能理解就好~

  • #13 楼 @testblue 我不是大神。。。

    第一,我觉得你需要转变一下思维方式,自动化测试中要求每个用例都是独立的,和手工测试的各个用例之间还能有耦合度不一样。这是前提。

    第二,怎么把原来手工测试中具有耦合度的用例在自动化测试中解耦执行,其实不难。你转换一下,把原来手工的一个用例看成是自动化中的一个类。自动化用例就是这些类里面的操作的组合。

    第三,至于怎么做 teardown ,我举个简单例子吧。例如 1s = 1 的 setup 中执行的内容,1t = 1 的 teardown 中执行的内容,那么执行 b(包含 12)这个用例时,实际执行顺序可以调整成 bs(即 1s)->1->2->bt(即 1t->2t) 。至于 1t 或者 2t 写什么,你就看你具体需要咯。

  • #1 楼 @dengwei729 目前可以在标题加个【提问】前缀表明是提问。

    你能说下你在被测试设备上看到的执行情况是怎样不?

    PS:代码块的 Markdown 写错了,那个不是单引号,是键盘上 tab 和 1 夹着的那个键。

  • #11 楼 @testblue 具体代码怎么写需要你根据你的测试内容来确定吧。。。这点帮不了你。

  • 没看懂,你标题是自动化部署,内容看起来更像是部署步骤?

    另外,如果 Jenkins 配置你也想放到你的代码库而不需要找运维配置的话,可以试下用 Travis YML Plugin 。

  • 关于 Appium 的一些疑惑 at 2016年08月31日

    XCUITest 和 XCTest 虽然同是 XCTest 框架,但具体执行方式略有不同。

    • XCTest 是内嵌到应用中的,和被测应用属于同一进程。
    • XCUITest 虽然代码上是和应用项目写在一起,但执行时和被测应用是分开不同进程的。

    举个例子,应用有一个内部变量 a ,没有直接显示在界面中,XCTest 有办法获取到这个变量 a ,但 XCUITest 就不行。

    XCUITest 支持对 iOS 的任意界面进行界面自动化测试,且运行环境是在被测应用外另外开一个进程执行。你可以理解成有点类似 UIAutomation 那样,在被测应用以外控制界面,只是 UIAutomation 做了强制检测,被测应用一旦退出就自动停止(我以前用 UIAutomation 做 monkey 测试的时候,由于发送指令速度过快,有时候被测应用已经闪退了它还会继续执行一两个事件才停止)。

    WDA 的实现形式是自己做一个 app ,然后启动的时候是通过执行那个应用的 UI Testing Bundle 方式启动,并在启动完成后模拟按下苹果的 home 键回到桌面。由于前面提到它支持对任意界面进行自动化测试,所以只需要让它去启动你的应用(可以根据 bundleId 启动任意应用,包括苹果系统自带的),就可以控制你的应用界面了。

    如果和 Android 的 UI 自动化测试框架进行类比的话,WDA 有点类似 UIAutomator。

  • 既然来社区发招聘,麻烦还是遵循社区规范,使用 markdown 调整下格式吧。