• #2 楼 @kendydrm 但这个 X5WebView 在兼容性方面有点小问题,如 ruby china 的一片红。

  • 答案是:

    3. els[0].find_element_by_class_name与driver.find_element_by_class_name,实际是一样的效果
    
  • 两年多,和我差不多啊,我的阅历果然太少了。
    好期待!

  • #1 楼 @duoyou
    #2 楼 @cloudits
    两位麻烦加下头像吧。。。

  • 找到这个:
    https://github.com/appium/appium/issues/5107
    看起来是 app 自身问题。
    你打开 iOS log 看看系统 Log 里面有没有什么特别的 log ?如果有,那估计确实是 app 的问题了,恭喜你找到一个 crash issue 。

  • 测试书籍之我见 at July 30, 2015

    #56 楼 @chenhengjie123 Sorry,发了才看到你的回复。此贴就此打住吧。

  • 测试书籍之我见 at July 30, 2015

    #24 楼 @anonymous 我客观点回答你的几个问题吧:

    为什么测试行业没有一本书或者一系列书去更详细的讲解测试,有的是泛泛而谈,有的是博客里自己的零散的心得。

    讲解测试的书是有的,经典书籍也是有的,例如《软件测试》(ISBN: 9787111185260)《软件测试的艺术》(ISBN: 9787111376606)。至于其他公司是怎么做测试的,有《Google 测试之道》(ISBN: 9787115330246),《微软的测试之道》(ISBN: 9787111277538)。只是像你例子里的很具体的工具书籍基本没有。
    测试行业是发展好多年了,但移动测试发展也没几年啊(iPhone 2007 年出来,到现在也不过 10 年)。你例子里举的 adb ,monkeyRunner 出来也没多少年,而且他们深度上和应用上与其他工具(如 Java 的 Spring)之间差别太大了,一个是常用的基本工具,看完官方文档基本会用。一个是设计良好的大型框架,会用和用精完全两码事。拿 adb 这些工具和 Java 这门语言,或者 一些经典工具比较不是太恰当。

    PS:你想要系统了解同时也造福行业的话,可以自己通过阅读这些零散的心得,然后把它们组织起来,在 gitbook 或者什么地方把它们写成书,造福大家。

    3.你怎么知道我不愿意学习?我买书是为了什么?就拿 Appium,我有去看官方文档,有看 API,有在 testerhome 上学习基础,然后就在想有没有一本书可以具体的讲解用在项目里。到网上去找书,买了上面说的三本,然后发现讲 Appium 的就那么点。我并不是没有自理能力,只是想更深入学习。

    这类书我想短期内不会有,以后也不一定会很深入地讲。一方面具体用在项目中的东西大多通用性不会十分强,写成书后菜鸟还是没办法按照书中的说明把它用起来的,毕竟不同项目间差异还是不小的;另一方面 Appium 在国内流行也是这 1~2 年的事情,估计还没有什么企业/人敢说自己在项目中的实践强大到可以出书了吧。之前倒是听说淘测试有在用,而且还对 appium 进行了一些改造以符合自己的需要,但具体如何我就不大清楚了。

    我有看 Android 官方文档啊,我只是在想学习的方式不一定是只看官方的,我是一个习惯去买书学习的人。请问学习的方式一定要 先源码吗?这么说我又要开始学 Python 了?我一个 java 都只是基础的人又 tmd 开始学 python 了?

    我在 IT 技术方面的学习路线一般是:

    1. 如果有入门书籍就入门书籍,没有就看经典书籍或者直接官方 Getting started 或者 Tutorial 。如果是比较新的技术的话还是直接上官网。
    2. 动手写/用,在用的过程中发现一些疑问并自己解决。解决的过程中能学到很多教程里面没提到的相关知识,方便建立比较完整的知识体系
    3. 当发现有些地方实在 google 不到解决方案/自己觉得有必要更深入了解了,上源码。看源码和写源码是两码事,现在大部分语言的可读性不至于差到一个学过基本编程知识的人完全摸不着头脑(甚至不会编程的也能看出点东西),但一些语言入门知识得了解就是了。另外,上源码能更清晰看到这个工具可以改进的地方/存在的缺陷(我相信不存在没有缺陷的软件),也便于以后自己再去修改。
    4. 上面都基本掌握了,那这个工具就能进入你的技术库了,你也可以考虑用它上项目了。

    PS:我也喜欢看纸质书,不过现状是任何纸质书出版时里面的内容至少是半年前的了,在移动测试这个领域半年时间意味着可能只剩下 80% 左右的内容还是可以用起来的了,所以里面还是会有坑的。而且那些 “实战”、“实例” 的书籍本来就不是给初学者看的,初学者看了很容易在流沙上面筑高楼,觉得自己懂得里面的例子就学会这个东西了,结果一上项目傻眼了,这些情况和书里说的不一样啊!

    2.其次你一上来就让我看源代码,请问源代码很容易吗?是 1+1=2 吗?你现在是 NBA 职业球员,就以为一个小学生就可以直接去打 NBA 了?Appium 的源码很容易懂吗,Node.js 是一个 java 还在基础阶段的人轻易能学会的?我看你们的商业培训也在从基础讲起,并没有从源码讲起?

    源代码确实不那么容易,但 Monkey 的源码没有你想象中那么难,而且 Monkey 源码分析网上是有系列文章的,你可以去看看,辅助理解。至于 Appium 是比较难(编程语言上有 Java,Javascript,并且需要熟知 UIAutomator API,UIAutomation API,Xcode command line tool),但对于只想了解基础的初学者来说 Appium 的文档、sample-code、各个 client 自己的文档以及 webdriver api 的文档加起来足够入门,甚至熟练使用了。精通的话源码是不二之选。

    据我所知,学编程的人也是差不多的路线:刚开始通过各种入门书只知道怎么用官方的 library ,然后通过多用和看官方文档熟练掌握,最后学习源码。

    最后我想说的时,你说到的一些问题确实是问题,然而单纯把这些问题在一个公众平台上抛出来,并且带有比较强烈的指责态度,你指望能得到怎样的回复呢?换位思考一下,你见到这样的帖子,你会回复什么?另外,这些问题如果不仅仅是抛出来,而是提出后组织大家把这些书籍资料整理出来,造福未来的新人,收到的效果是否会截然不同?

    测试行业是需要改变,但是单纯提问题,叹可悲是改变不了行业的。

  • 测试书籍之我见 at July 30, 2015
    1. 请问贴主有看过 java 从入门到精通的书吗?有看到精通了吗?这些书不一定有你想象中那么大的作用,关键还是你自己。
    2. 如 monkey 所言,不断更新的领域出书用处也不大,书出版时里面的内容可能都过时了,官方文档才是王道。
  • #2 楼 @jennifer xml 无效会导致所有解析 xml 的程序报错,然后无法解析。
    不过因为这个 xml 只是 dump 界面控件树,只是供 UIAutomator 使用,对应用实质功能没啥影响,只对测试有影响。如果表情符号不是测试点,建议在执行测试时去掉它。

  • 屏蔽理由:请参考排版说明,代码及日志使用代码块。

  • 那个。。。能否按照排版规范优化一下排版?现在的代码没用代码块看起来有点乱。。。

  • 估计是你的表情符号导致 xml 格式被破坏了。
    错误信息说的是解析 xml 时出错,xml 是无效文件。

  • 另外,请遵守论坛排版规范,代码使用代码块:

    代码块
    
  • 这个不是 bug 啊,设计就是如此啊。根据 text 来定位,当然找到第一个符合的就返回啊。
    你这个需求不要用 byText,改用 byDescription 或者找别的定位策略吧。

  • 已收藏,挂机下载中

  • 帮顶。
    工作再过一年才达标了。。。

  • 建议你先试试直接用 UIAutomation 执行 target.dragFromToForDuration({x:"333", y:"497"}, {x:"50", y:"497"}, "1") 这段代码。

    印象中 iOS 7.0+ 的 Simulator 有个在 scroll view 中进行滑动手势方面的 bug :
    https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/touch-actions.cn.md

    如果直接用 UIAutomation 也不行那就用真机试试,如果还是不行那就要看看是否移动的距离不够了。

  • :plus1:

  • 好文!
    提个小问题,markdown 的粗体格式在前面两个星号前必须有一个空格,否则会认为你就是想显示星号。同时一些序号格式要求和其他格式之间有一个空行。我看到文中有两个地方出现了 markdown 的字符了。

  • 另外,麻烦按照排版说明要求:

    1. 添加头像
    2. 代码使用代码块
  • 麻烦添加一下头像。
    另外,麻烦说一下具体的薪酬水平范围。

  • 没看懂 该工具捕获的却是之前 UI 上的控件 这句话啥意思。。。

  • #1 楼 @app_testing 这个方法是旧方法,现在已经作废了。

  • 337 = 98+289
    717 = 98+289+380

    你查下 Java-client 的文档,看下里面 moveTo 的坐标是相对于前一个点的坐标还是绝对坐标?

  • 没有直接的 api 。
    可以通过 adb 来控制 Unlock.apk 来做(Unlock.apk 是 appium 运行 session 时自动装上去的)。 adb 命令为:

    adb shell am start -n io.appium.unlock/.Unlock && sleep 5
    

    参考代码:https://github.com/appium/appium/blob/e6927c60e2264e32eade441dbfbf57f183310b43/test/functional/android/device-state-specs.js

    不过更建议从源头解决,让手机永不锁屏。三星只是在系统设置界面里没有给永不锁屏的选项,并不是完全无法永不锁屏。