测试之家
  • 社区
  • 问答
  • 招聘
  • 社区学堂新
  • 开源项目
  • 活动
  • Wiki
  • 注册
  • 登录
管理员
chenhengjie123 (陈恒捷)
第 605 位会员 / 2014-03-16
字节跳动 @ 广州
157 篇帖子 • 5478 条回帖
1427 关注者
17 正在关注
100 收藏
人与人的差距取决于工作、睡觉之外的8个小时!
打赏支持
GitHub Public Repos
  • vue-testcase-minder-ed... 101

    基于百度脑图的用例编辑器组件,支持记录测试结果

  • gs-rest-service 5

    Building a RESTful Web Service :: Learn how to create a RESTful web service with Spring.

  • JavaSpringMvcBlog 5

  • ffmpeg-go 1

    golang binding for ffmpeg

  • ws-qvh 0

    Server for streaming the screen of iOS devices over WebSocket.

  • goav 0

    Golang bindings for FFmpeg (This repository is no longer maintained)

  • gmf 0

    Go Media Framework

  • quicktime_video_hack 0

    Record iOS device audio and video

  • ws-scrcpy 0

    Web client prototype for scrcpy.

  • ChuanhuChatGPT 0

    GUI for ChatGPT API

More on GitHub
  • 个人信息
  • 专栏
  • 话题
  • 回帖
  • 收藏
  • 关注中
  • 关注者
  • 求助 appium 在 webview 模式下,使用 get_screenshot 方法报错,有木有谁碰到过的。 at 2015年04月23日

    查到 chromedriver 在 Android Emulator 上确实有这个 bug :
    https://code.google.com/p/chromedriver/issues/detail?id=792&can=1&q=screenshot&colspec=ID%20Status%20Pri%20Owner%20Summary

    Appium 也有讨论过这个问题:
    https://github.com/appium/appium/issues/3224

    因为你没提到你的测试环境,我也不能确定你的问题是否就是上面的 bug 。

    另外,根据你的 log ,你使用的是 chromedriver 2.10,官网最新是 2.15 。你可以升级后再试试。

    PS:请加头像。。。

  • 求 Appium webview 操作原理深入讲解 at 2015年04月23日

    这个标题。。。换个没有那么具有迷惑性的吧。。。我还以为是介绍原理。。。

    操作 webview 在 4.4 或以上 appium 直接用 chromedriver(就是根据你开 appium session 时使用的 caps 转化成 chromedriver 的 caps 然后开启 chromedriver 的 session。因为都遵循 webdriver 规范,简单处理后把请求转发给 chromedriver 就好了)。

    chromedriver 源码,有兴趣可以深入探究:https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/chromedriver/README.txt&q=file:test/chromedriver/README.txt&sq=package:chromium&l=1
    chromedriver 的具体原理是通过 chrome 的 remote debugging 来控制 chrome 的。你可以参考这个帖子:
    http://testerhome.com/topics/1719
    iOS 的 webview:
    http://testerhome.com/topics/2047

    除此之外,还可以调用 selendroid 控制 webview 。selendroid 控制 webview 使用的是 AndroidAtom.java,简单的说就是往 webview 注入 javascript 事件。
    这个帖子的跟帖里各路大神有简单讨论了一下 selendroid/robotium 的 webview 原理:
    http://testerhome.com/topics/2234

  • 坐标定位报异常 SessionNotFoundException,怎么解决,求大神指点 at 2015年04月23日

    #9 楼 @bueaty 先声明一下,我不是大神。。。
    显示网络异常,然后找挂机元素就出现 SessionNotFoundException 这个错误?

    建议你参考这个帖子,把你的问题描述清楚,并把必要的 log 附上:
    http://testerhome.com/topics/2287

  • Appium 运行 python 脚本速度很慢 at 2015年04月23日

    #2 楼 @fanfaneve 能给个时间对比吗?
    例如用 UIAutomation 执行你上面脚本这么多操作需要多少时间(s),用 Appium 执行同样操作是多少时间(s)。既然想优化,那就要先有指标作参考。
    或者你可以打开 appium server 的 --log-timestamp 选项,在 log 里面增加时间戳,然后把 log 贴出来看看到底时间都去哪里了。

    Appium 相比 UIAutomation 会慢的可能原因有:

    1. Appium 还要帮你装应用(UIAutomation 的运行前提就是应用已经启动,所以这个时间在 UIAutomation 上其实是被忽略了)
    2. Appium 是通过 instrument 与 UIAutomation 通讯来进行操作的,启动 instrument 的时间、通讯时间以及 appium 解析各种请求的时间也是比 UIAutomation 慢的原因(因为都是相比 UIAutomation 增加的操作)。
  • 通过 ddmlib 使用 adb,构建框架基础库 at 2015年04月23日

    #3 楼 @xuxu 原来 ddmlib 藏得这么深。。。谢谢分享!

  • appium.app Inspector 启动方法 at 2015年04月23日

    #13 楼 @wqy8576 或者你另外发帖问吧。
    在这里跟帖问不是太合适。

  • 通过 ddmlib 使用 adb,构建框架基础库 at 2015年04月23日

    我是勤劳的传送门:https://github.com/cosysoft/device

    学习了!

    提个小问题:在 Marven central repository 下载的 javadoc 的 html 文档中没有带有 UTF-8 编码声明,如果浏览器默认编码不是 utf-8 或者没打开自动检测编码,会显示乱码。建议这个 javadoc 用全英文的吧。中文看起来有些地方实在别扭

  • 坐标定位报异常 SessionNotFoundException,怎么解决,求大神指点 at 2015年04月23日

    从你的 log 看,你的 adb 执行

    "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 "shell \"echo 'ping'\""
    

    这条命令时出错了,把 adb 命令的帮助信息打印出来了。(看起来是命令有语法错误,不过我之前没遇到过,需要你给一下 appium 版本才能确认)
    然后由于这个出错,appium 重启了 adb server。然后后面出现了:

    info: [debug] Starting logcat capture
    info: [debug] Attempting to uninstall app
    info: [debug] Not uninstalling app since server not started with --full-reset
    info: [debug] Cleaning up android objects
    info: [debug] Cleaning up appium session
    

    表示终于成功连上设备了,但在它准备卸载应用时由于 appium server 启动参数中没有加入 --full-reset ,所以没有卸载,然后就关闭 session 了。

    建议你把测试脚本完整代码、appium 版本、appium 启动参数都提供一下。

    PS:代码块不要用引用语法。。。看得比较痛苦。。。

  • appium 自动化测试 求资料 at 2015年04月22日

    最好的资料就是 appium 官方的文档。

  • appium.app Inspector 启动方法 at 2015年04月22日

    #13 楼 @wqy8576 求 logcat 和 appium server 的 log。。。

  • 12 Best Mobile App Testing Frameworks 的简单了解 at 2015年04月22日

    #1 楼 @testly 说来惭愧,目前只用过 Appium ,其他框架都还没用实际过。。。后面会尝试每个框架都用一下,了解一下。

  • 介绍一个我开发的跨平台 UI 自动化框架——AXUI at 2015年04月22日

    #4 楼 @xcgspring 关于你这个框架,我大致看了一下介绍,有些问题想问一下。如果问得不好或理解不对的地方,请见谅:

    1、 你的目标群体是什么?手工测试人员/写过自动化脚本的人/对自动化测试和开发都有较深入了解的人/开发?看了你的示例代码后感觉前两个类型的人不一定搞的定,后两个类型的可能会偏向于使用符合一些规范的工具,如 selenium,selendroid,appium,他们都符合 webdriver API 规范。

    2、从你的描述来看,你希望解决的痛点是 如果没有好的编程经验,一段时间的迭代之后,测试脚本库就会臃肿不堪,没法维护,于是我们又得重写脚本 , 对于 tester,换一个项目的成本很高,之前项目的经验有时候很难在现有的项目复用,但通过你的示例代码我没看出 AXUI 对于这两个痛点有很好的解决办法(目前只发现它相比 webdriver 多了对 windows desktop 程序的支持)

    3、把 UI 逻辑和测试脚本分离是一个很好的想法,但通过 xml 来实现会不会导致易用性/可读性不是太友好?而且 selenium 的 PageObject 设计模式也能做到类似效果。

    4、通过扩展支持更多 API 这个想法也很赞,而且拓展方法看起来也不是太复杂。不过你的框架本来是为了 windows desktop 的 UI 自动化设计的,让它完整支持其他 API 会不会有难度?通过扩展支持大量平台的测试框架目前我比较了解的是 robotframework ,它的办法是 API 什么的都不限定,只限定用例的编写格式,降低跨平台用例的学习难度。

  • 坐标定位报异常 SessionNotFoundException,怎么解决,求大神指点 at 2015年04月22日

    请附上 appium server 的 log 。
    光凭上面你给的信息定位不了原因。

  • 切换到 webview 后,无论是获取 element,还是 pagesource 都无响应。 at 2015年04月22日

    #7 楼 @will_lee 据我所知,升级不了。webview 默认使用的浏览器是系统自带的,它不是以应用形式存在,只能通过升级系统来升级 android 内置 webview 浏览器。
    你可以通过把浏览器内核打包到应用中来使用自己想用的版本的浏览器,前面我提到的 crosswalk 做的就是这个事情。缺点是应用体积会大不少。

  • 切换到 webview 后,无论是获取 element,还是 pagesource 都无响应。 at 2015年04月21日

    升级是指使用其他浏览器?
    你可以看看 crosswalk,把 chrome 内核打包到 app 中。

  • ios 报 error:Log capture did not start in a reasonable amount of time at 2015年04月21日

    #6 楼 @wangquan2596489 麻烦更新一下标题并把尽量详细的解决方案附到正文中,方便后面的人查看。谢谢!

  • ios 报 error:Log capture did not start in a reasonable amount of time at 2015年04月21日

    #3 楼 @wangquan2596489 好吧,刚才细看了一下你的 log,问题不止 ideviceinstaller :

    info: [debug] Starting iOS device log capture via deviceconsole
    
    error: Log capture did not start in a reasonable amount of time
    
    info: [debug] Cleaning up appium session
    
    error: Failed to start an Appium session, err was: Error: Log capture did not start in a reasonable amount of time
    
    info: [debug] Error: Log capture did not start in a reasonable amount of time
    at null._onTimeout (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios-log.js:137:10)
    at Timer.listOnTimeout (timers.js:110:15)
    

    你把 deviceName 补充上去吧。具体要用什么 deviceName 参照 https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/caps.cn.md

  • ios 报 error:Log capture did not start in a reasonable amount of time at 2015年04月21日

    装了之后重启了 appium server 了吗?
    正常来说装了之后应该就没问题了。即使有问题,也不会是同一个问题。

  • 程序引导页(向左滑动) at 2015年04月21日

    #7 楼 @mr_zeng 其实现在封装的这个scrollLeft有些地方还能改进:

    1. dr.swipe(x/4*3, y/2, x/4*1, y/2, 0); 这句的 duration 为 0 ,最好设成 500ms (0.5) 左右,更符合真实用户滑动的速度。
    2. 循环内部在 scrollLeft 完后最好 sleep 一下,否则像你们实际使用这种快速循环可能会出现上一次划的效果还没完全出来(那个引导页还在滑动动画中)就开始划下一次了。
  • ios 报 error:Log capture did not start in a reasonable amount of time at 2015年04月21日
    1. 请加头像及把文章按照页面底部的格式要求排版(代码请贴代码并使用代码块!日志请贴日志并使用代码块!)
    2. 解决方案就是装 ideviceinstaller :brew install ideviceinstaller。appium.app build-in 的貌似是那个用不了的。不知道什么是 brew 的请搜索 homebrew
  • 介绍一个我开发的跨平台 UI 自动化框架——AXUI at 2015年04月21日

    #1 楼 @lihuazhang 在它的文档找到这段:

    AXUI provide built-in drivers for:

    windows native UIAutomation Client API for windows desktop UI
    selenium project for web UI
    appium project for Android and IOS UI

    和

    AXUI is first developed for easy use of windows UIAutomation API, then restructure to add support for WebDriver API used by selenium and appium. So if your UI automation is similar to windows UIAutomation API or WebDriver API, it will be easy to add support for it in AXUI.

    应该是可以通吃的。只是最主要支持的是 windows desktop ,然后扩展支持 webdriver 。

  • appium 输入法切换 (已解决) at 2015年04月20日

    #4 楼 @fanlei1014 麻烦更新一下标题并把尽量详细的解决方案附到正文中,方便后面的人查看。谢谢!

  • appium 输入法切换 (已解决) at 2015年04月20日

    在网上查到用 adb 命令可以切换输入法:
    http://www.itcao.com/post_1291.html
    但切换后会不会对 appium 输入有影响就不大清楚了。

  • 切换到 webview 后,无论是获取 element,还是 pagesource 都无响应。 at 2015年04月20日

    那可能是多看的 app 没有开 web debug 了。

  • 切换到 webview 后,无论是获取 element,还是 pagesource 都无响应。 at 2015年04月20日

    从日志上看,chromedriver 起来后 appium server 就没有收到 client 的任何请求(卡在 chromedriver 的开 session 这里了,appium 发送了开 session 的请求后 chromedriver 一直没有反应),所以 session timeout 退出了。
    原因应该是因为切换 context 这个请求一直没有返回消息给 client 端,所以 client 一直停在切换 context 那一行等待 server 的返回消息,即切换 context 后的所有代码都没有执行过,所以你说的找元素和取源码都没有效果。

    建议的解决方案:

    1. 根据 chromedriver 的 Dependencies 和 Device Requirements 检查你的测试环境和被测应用是否符合要求:https://sites.google.com/a/chromium.org/chromedriver/getting-started/getting-started---android
    2. 检查你的参数配置是否有错,特别是 deviceName ,在 chromedriver 里面 deviceName(androidDeviceSerial )是用来选择特定设备的,必须和设备的序列号一致,如果你是单个 android 设备可以试试去掉 deviceName 这个参数。
    3. 升级 chromedriver 到最新版后直接在脚本里用 chromedriver 启动 session ,看到底出现什么错误。
  • 上一页
  • 1
  • 2
  • 3
  • …
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • …
  • 205
  • 206
  • 207
  • 下一页
  • 关于 / 活跃用户 / 中国移动互联网测试技术大会 / 反馈 / Github / API / 帮助推广
    TesterHome社区,测试之家,由众多测试工程师组织和维护的技术社区,致力于帮助新人成长,提高测试地位,推进质量发展。Inspired by RubyChina
    友情链接 WeTest腾讯质量开放平台 / InfoQ / 掘金 / SegmentFault / 测试窝 / 百度测试吧 / IT大咖说
    简体中文 / 正體中文 / English

    ©testerhome.com 测试之家   渝ICP备2022001292号
      渝公网安备 50022202000435号    版权所有 © 重庆年云聚力信息技术有限公司