• Appium Wrapper for Java at 2015年03月24日

    #17 楼 @springs412 你先试试adb devices能不能找到设备。adb 能找到 appium 一般都能连到。

  • #4 楼 @testly 设置了unicodeKeyboardtrue后会自动安装 appium 的输入法并设为默认输入法。你想在测试完成后自动改回原有输入法可以把resetKeyboard设为true
    详见:https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/caps.cn.md

  • Appium 启动 Browser 失败 at 2015年03月23日

    #4 楼 @staticfield 麻烦更新一下标题和帖子内容,说明已解决及解决方案吧。这样其他人也可以方便地解决类似的问题。

  • 能提供详细点的上下文不?例如你脚本大部分情况下执行到哪里会出现这个问题,appium 上对应的详细 log 是什么?
    只有 client 端的 exception 信息量太少了。

  • Appium 启动 Browser 失败 at 2015年03月23日

    试试在desired_caps里添加这个?
    'browserName': 'Browser',

    你的问题和那个帖子应该不一样。你这个是应用内置 webview。
    appium 相关文档:https://github.com/appium/appium/blob/master/docs/cn/advanced-concepts/hybrid.cn.md

  • selendroid 入门 at 2015年03月22日

    #3 楼 @lihuazhang 那不就类似于 selenium 1 的做法吗?

  • selendroid 入门 at 2015年03月22日

    好文,后面学习 seledroid 就参照这个文章来撘环境了。
    在 google 的规划中,webview 的自动化貌似是用 chromedriver 来做的,和 uiautomator 定位有所不同。

    话说怎么那么多人写 xpath 都那么喜欢用工具生成的……自己写不是更灵活吗……

  • #4 楼 @hssdx 麻烦提供一下你运行这个命令时所在目录路径及你配置的 appium 源码根目录路径,以及你是否运行成功了reset.sh --dev命令。

  • 受教了,又学了一个很不错的设计模式!

  • 先收藏了!
    这压缩好强悍……我当时下源码搞了一个晚上……

    话说下载链接干嘛用代码块……

  • 根据我目前对那两个工具的了解,可能是你的自定义的 view 没有实现 accessibility 方面的方法,你提到的两个工具貌似都是通过 accessibility 服务获取控件的。
    帮你找一下分析过这两个工具源码的人,看他的意见吧。@doctorq

  • #6 楼 @yangchengtest 对,你说的我都赞同,确实目前图片识别技术准确性还不能达到很高的实用价值,但在某些特定场景下(如文中的场景)可以起到很大的辅助作用。
    我主要想分享一下它这种另类的解决思路(用较低成本达到较大的产出)而已。

  • appium 1.3.4.1 版 sendkey 错误 at 2015年03月19日

    #4 楼 @adfghzhang 有试过像我那样在 sendKeys 前先 clear 吗?效果如何?

  • appium 1.3.4.1 版 sendkey 错误 at 2015年03月19日

    #5 楼 @misnull 我也遇到过,貌似三星的默认输入法映射有点问题,后来改成用 google 拼音输入法就好了。
    对于非 ASCII 字符(如中文),目前只有 Appium 的 unicode 输入法一条路。坏处是它触发不了输入法的按键事件(因为它压根就没按键,直接传信号的)

  • #2 楼 @yangchengtest
    文中第一部分已经说明图和关键字对应起来放数据库走不通。。。图库量太大了。。。所以要用识图工具。
    百度识图不是单纯的数据库比对,里面有识别算法的,当然也包含大数据。简单地说就是它能识别近乎于任意图片的对应关键字,这样即使你图库再大,再怎么更新也不怕。
    附上文中提到的知乎的讨论链接:http://www.zhihu.com/question/19738567

  • 额,我分享这个的目的不是想让大家讨论抢票软件本身,只是想让大家开阔一下思维,遇到用常规方法做不了的事情时就突破常规,用非常规方法来解决。
    框架/工具用得多很容易局限在它们以内。框架只是辅助工具,如同这里的百度识图一样。我们的价值不是熟练使用各种框架/工具,而是能快速找到合适的方法、采用合适的工具、以尽量快和低成本的方式解决问题。
    个人觉得,测试和开发的主要区别就在于测试更需要开阔的眼界和思维,能跳出编程固有的思路来解决问题。这也是我选择做测试的原因之一。

  • #5 楼 @misnull 话说你改的不就是 appium server 解析启动参数的代码嘛……参数名称是-bp或者--bootstrap-port啊。。。

  • appium 1.3.4.1 版 sendkey 错误 at 2015年03月19日

    刚刚用 appium 1.3.4.1 的 exe 试了一下(使用 python client):

    username = self.driver.find_element_by_id("xxx")
    username.send_keys("test")
    username.send_keys("abcdefg")
    

    执行完后 username 框的内容为"testabcdefg"
    改为:

    username = self.driver.find_element_by_id("xxx")
    username.send_keys("test")
    username.clear()
    username.send_keys("abcdefg")
    

    执行完后 username 框的内容为"abcdefg"
    @adfghzhang 你可以试试加上 clear() 方法。

  • appium 1.3.4.1 版 sendkey 错误 at 2015年03月19日

    从日志上看,有可能是这里出的问题:

    Pushing command to appium work queue: ["element:setText",{"elementId":"20","text":"2015-03-20","replace":false,"unicodeKeyboard":true}]
    

    此处的"replace":false可能会让 sendKeys 在原有字符在不清空的情况下继续输入。

    @tspring 能否帮忙让你们组相应组员查查 BOOTSTRAP 这边对于"replace":false实际是怎么执行的?
    我们组这边会看看 1.3.4.1 的 Server 端在

    > info: --> POST /wd/hub/session/4adf2a57-f5d7-4c32-9f2d-64621d825d7a/element/20/value {"id":"20","value":["2015-03-20"]}
    > info: [debug] Pushing command to appium work queue: ["element:setText",{"elementId":"20","text":"2015-03-20","replace":false,"unicodeKeyboard":true}]
    

    这两行日志之间根据什么设定replace的。

    另外,@adfghzhang 能否提供一下你使用的 client 的语言和版本?谢谢。

    PS:我这边使用 python 的 Appium-Python-Client==0.11 作为客户端,Appium 1.2.0 作为服务端,真机使用 Android 4.3,使用 send_keys() 方法会清空输入框后再输入。

  • 果断收藏~

  • 赞一个!
    robotframework 的测试用例用文本编辑器写确实比较费劲,而且介乎于表格与编程语言之间,编程的写得费劲,手工的表示看不懂。不过优势是根据编写方式的不同有很强的适应性,既可以关键字驱动,也可以数据驱动或者其他驱动方式。
    PS:我们项目目前测试框架的 Mobile 部分就是基于 appiumlibrary 的,实际使用过程中会发现它提供的方法远不能满足项目需要,不少方法还得自己写。。。

  • #9 楼 @myf_1127 inspector 能正常打开的前提是被测应用已经被 appium 打开了。
    对应文档:https://github.com/appium/appium-dot-app#inspector--recorder

  • 有点失落很正常,毕竟是自己带领团队做出来的东西,团队成员未经允许就拿走了,换做我也会失落一段时间。
    但换个角度想想,随着业务发展,这些旧代码肯定要修改/重构,他最多也就是带走了一个目前可用的工具,工具不改进很快就会被淘汰的。
    至于追究责任,这是公司的事情了,你也没必要太操心。