测试之家
  • 社区
  • 问答
  • 招聘
  • 社区学堂新
  • 开源项目
  • 活动
  • Wiki
  • 注册
  • 登录
新手
Jhon (Jhon)
第 12765 位会员 / 2016-11-12
6 篇帖子 • 47 条回帖
1 关注者
1 正在关注
4 收藏
未设置 GitHub 信息.
  • 个人信息
  • 专栏
  • 话题
  • 回帖
  • 收藏
  • 关注中
  • 关注者
  • 今天忽然发现 adb 启动不起来 app 了。不知道咋回事。问题截图如下。求解答 at 2017年09月15日

    没有权限。看出错日志 Premission

  • robotium 重签微信 京东 app 后登入不了。有谁遇到过重签名后 有些 app 功能无法使用的? at 2017年09月09日

    @seveniruby @xuxu

  • 使用 安卓 UIautomatorviewer,识别同一个 android.webkit.WebView 页面,dump2 次,dump 出来的节点信息不一致。好奇怪。. at 2017年04月18日

    一脸懵比。。。。。。。。。。。。。

  • 使用 安卓 UIautomatorviewer,识别同一个 android.webkit.WebView 页面,dump2 次,dump 出来的节点信息不一致。好奇怪。. at 2017年04月18日

    appium 是可以测 webview 的。只是我不知道怎么破。哈哈哈。。
    看网上说什么切换上下文,我进入到 webview ,上下文还是 nativeapp.
    又看网上说要打开什么调试开关,打开后,进入到 webview ,上下文还是 nativeapp.
    所以就一脸懵比。。。。
    有没有谁能提供一篇比较好的 appium 测试 webview 的文章。。。。

  • 使用 安卓 UIautomatorviewer,识别同一个 android.webkit.WebView 页面,dump2 次,dump 出来的节点信息不一致。好奇怪。. at 2017年04月14日

    你解释的还比较清楚,我这些 case 是因为之前拿到了 dump 信息才执行通过,现在拿不到了。。这么不稳定,肯定需要解决,不然 case 写的 没有意义,能请教下 你是怎么解决的嘛?

  • 使用 安卓 UIautomatorviewer,识别同一个 android.webkit.WebView 页面,dump2 次,dump 出来的节点信息不一致。好奇怪。. at 2017年04月14日

    有没有人有相同的情况呀,这导致我很多 case 都运行不了呀

  • [北京] 滴滴出行 招聘 高级测试开发工程师 & 软件测试开发实习生 at 2017年03月29日

    要是进去了,打车不要钱我就去

  • [上海] 饿了么 招聘 高级测试工程师 at 2017年03月29日

    有美女就去。。。。。

  • appium+python 请教各位大神,两个用例的时候,第一个用例写了成功开启登陆 APP 后,第二个用例单独写操作步骤就无法识别了 at 2017年03月29日

    你第一个 slef 都写错了。。。self

  • 怎么用元素坐标进行点击事件 at 2017年03月29日

    self.driver.tap([(X, Y)])
    X,Y 分别为横坐标,和纵坐标

    appium 获取信息类 API

    (1)获取默认系统语言对应的 Strings.xml 文件内的数据。

    get_app_string()

    (2)查找某一个语言环境对应的字符串文件 Strings.xml 内数据。

    get_app_string(String language)

    (3)获取当前 activity,比如(.ApiDemos)

    current_activity()

    App 安装与卸载类 API

    (1)根据 bundleId 来判断该应用是否已经安装

    is_app_installed(String bundleId)

    (2)安装 app,appPath 为应用的本地路径

    install_app(String appPath)

    (3)卸载 app.bundleId 在 android 中代表的是包名,而在 iOS 中有专门的 bundleId 号。

    remove_app(String bundleId)

    (4)关闭应用,其实就是按 home 键把应用置于后台

    close_app()

    (5)启动应用

    launch_app()

    (6)先 closeApp 然后在 launchAPP

    reset_app()

    文件操作类 API

    (1)将字符数组用 64 位格式写到远程目录的某个文件中。也可以理解为把本地文件 push 到设备上。

    push_file(String remotePath, byte[] base64Data)

    (2)将设备上的文件 pull 到本地硬盘上

    pull_file(String remotePath)

    (3)将设备上的文件夹 pull 到本地硬盘上,一般远程文件为/data/local/tmp 下的文件。

    pull_folder(String remotePath)

    设置相关类 API

    (1)设置手机的网络连接状态,可以开关蓝牙、wifi、数据流量。通过 NetworkConnectionSetting 中的属性来设置各个网络连接的状态。

    set_network_connect(NetworkConnectionSetting connection)

    (2)得到当前网络的状态

    get_network_connection()

    用户操作类 API

    (1)ios 隐藏键盘

    hide_keyboard()

    (2)隐藏键盘,只能用于 ios 上。

    hide_keyboard(String strategy, String keyName)

    (3)按下某个键,具体哪个键由 key 值决定,key 值定义在 AndroidKeyCode 类中

    send_key_event(int key)

    (4)执行一个 touch 动作,该 touch 动作是由 TouchAction 封装的。

    perform_touchAction(TouchAction touchAction)

    (5)点击 element 控件中心点按下,duration*5 毫秒秒后松开,如此重复 fingers 次。

    tap(int fingers, WebElement element, int duration)

    (6)点击 (x,y) 点按下,duration*5 毫秒后松开,如此重复 fingers 次。

    tap(int fingers, int x, int y, int duration)

    (7)从 (startx,starty) 滑到(endx,endy),分 duration 步滑,每一步用时是 5 毫秒。

    swipe(int startx, int starty, int endx, int endy, int duration)

    (8)2 个手指操作控件,从对角线向中心点滑动。

    pinch(WebElement el)

    (9)以(x,y)为基准,计算得出(x,y-100),(x,y+100) 两个点,然后 2 个手指按住这两个点同时滑到(x,y)

    pinch(int x, int y)

    (10) 与 pinch(el) 的动作刚好相反。两个手指由控件的中心点慢慢向控件的左顶点后右底点滑动。

    zoom(WebElement el)

    (11) 和 pinch(x,y) 相反。两个手指从(x,y)点开始向(x,y-100)和(x,y+100)滑动。

    zoom(int x, int y)

    (12) 锁屏多少秒后解锁

    lock_screen(int seconds)

    (13) 模拟摇晃手机

    shake()

    (14) 滚动到某个 text 属性为指定的字符串的控件

    scroll_to(String text)

    (15) 滚动方向由 element1 到 element2

    scroll(element1,element2)

    (16) 滚动到某个 text 属性包含传入的字符串的控件

    scroll_to_exact(String text)

    (17) 设置上下文

    context(String name)

    (18) 可用上下文

    get_context_handles()

    (19) 当前上下文

    get_context()

    (20) 设置屏幕横屏或者竖屏

    rotate(ScreenOrientation orientation)

    (21) 获取当前屏幕的方向

    get_orientation()

    获取控件类 API

    seleniumdriver

    find_element_by_id
    find_elements_by_id
    find_element_by_name
    find_elements_by_name
    find_element_by_link_text
    find_elements_by_link_text
    find_element_by_partial_link_text
    find_elements_by_partial_link_text
    find_element_by_tag_name
    find_elements_by_tag_name
    find_element_by_xpath
    find_elements_by_xpath
    find_element_by_class_name
    find_elements_by_class_name
    find_element_by_css_selector
    find_elements_by_css_selector

    appiumdriver

    find_element_by_ios_uiautomation
    find_elements_by_ios_uiautomation
    find_element_by_android_uiautomator
    find_elements_by_android_uiautomator
    find_element_by_accessibility_id
    find_elements_by_accessibility_id

    AppiumDriver 的辅助类

    主要针对手势操作,比如滑动、长按、拖动等。TouchAction 的原理是讲一系列的动作放在一个链条中,然后将该链条传递给服务器。服务器接受到该链条后,解析各个动作,逐个执行。

    TouchAction()

    (1)在控件上执行 press 操作

    press(WebElement el)

    (2)在坐标为(x,y)的点执行 press 操作

    press(int x, int y)

    (3)在控件 el 的左上角的 x 坐标偏移 x 单位,y 左边偏移 y 单位的坐标上执行 press 操作。

    press(WebElement el, int x, int y)

    (4)释放操作,代表该系列动作的一个结束标志。

    release()

    (5)以 el 为目标,从另一个点移动到该目标上

    move_to(WebElement el)

    (6)以(x,y)点为目标,从另一个点移动到该目标上

    move_to( int x, int y)

    (7) 在控件的中心点上敲击一下

    tap(WebElement el)

    (8) 在(x,y)点轻击一下

    tap(int x, int y)

    (9) 以控件 el 的左上角为基准,x 轴向右移动 x 单位,y 轴向下移动 y 单位。在该点上轻击。

    tap(WebElement el, int x, int y)

    (10) 代表一个空操作,等待一段时间

    wait_action()

    (11) 等待 ms 秒

    wait_action(int ms)

    (12) 控件长按

    long_press(WebElement el)

    (13) 点长按

    long_press(int x, int y)

    (14)偏移点长按

    long_press(WebElement el, int x, int y)

    (15)取消执行该动作

    cancel()

  • [求助] robot framework 连接不上 MySQL at 2017年03月29日

    thank you

  • GMTC 2017 大会 6 折倒计时一周!升级你的移动开发思维 at 2017年03月29日

    还有这规定呀,哈哈,我估计换我本人头像,会迷死一大片,哈哈哈哈

  • [求助] robot framework 连接不上 MySQL at 2017年03月28日

    @wodeta33 为什么你们可以发布话题,我好像不可以发布话题了,好像没用违规呀。。

  • GMTC 2017 大会 6 折倒计时一周!升级你的移动开发思维 at 2017年03月28日

    @seveniruby 为什么我突然不可以发布新话题了呀???

  • [已解决] Appium 运行报错:error: Failed to start an Appium session, err was:Activity never started. at 2017年03月24日

    这个问题我来回答下:
    要加上这行类似这样的代码:
    desired_caps['appWaitActivity'] = 'com.opera.android.OperaMainActivity'

    如果 app 能起来,说明不是 adb 的问题,它报错说 activity 没能找到,那就把哪个 activity 加在 appWaitActivity 上面。
    这个原因是因为,有些 activity 要想起来,必须依赖某个 activity。我之前遇到过,加上这行代码就不报错了。

    看下英文版解释:
    appWaitActivity: A new session could not be created
    While exploring Appium with mobile devices I hit the following error

    WebDriverException: Message: u’A new session could not be created. (Original error: atpwta.live/.activity.Main never started. Current: atpwta.live/.activity.root.TournamentList)’

    So why did appWaitActivity help?
    A simplified (but technically incorrect) way of understanding this error is that Appium was waiting for a screen name .activity.Main and timed out. The error helpfully tells you the current active screen is .activity.root.TournamentList. The desired capability appWaitActivity tells Appium what Android activity it should wait for. If you see a similar error, set your appWaitActivity to match the current activity in the error message.

  • XTest 自动化测试 app 有谁用过吗 ?实用不? at 2017年03月21日

    这么积极 哈哈

  • webviewv36 支持的 Remote Debugging 特性以及与 appium 的关系 at 2017年03月07日

    先确定 adb devices 确定有用,这个有用的话,就可以看到了

  • appium 安装不了的看这里 at 2016年12月26日

    ...

  • appium 安装不了的看这里 at 2016年12月26日

    第一步 npm install appium-doctor -g
    第二步 配置 path C:\Users\jhon\AppData\Roaming\npm;C:\Users\jhon\AppData\Roaming\npm\node_modules\appium\node_modules.bin

  • 介绍一下 Spoon------配合 Robotium 多设备分发测试,生成测试结果 at 2016年12月21日

    #49 楼 @yuweixx 谢谢

  • 想请教一下,如何让 monkey 在指定的几个 activity 里执行呢??monkey -c 这个参数好像不好使。。。。 at 2016年12月10日

    #5 楼 @jira root 过了,也不可以

  • 想请教一下,如何让 monkey 在指定的几个 activity 里执行呢??monkey -c 这个参数好像不好使。。。。 at 2016年12月10日

    #2 楼 @0x88 可以说详细点么

  • 想请教一下,如何让 monkey 在指定的几个 activity 里执行呢??monkey -c 这个参数好像不好使。。。。 at 2016年12月10日

    #1 楼 @erickyang 有没有个列子呀

  • [开源分享] 基于 appium 的自动化测试工具,支持多进程,性能采集分析等 at 2016年12月01日

    #38 楼 @a_little 没呢,我和 41 楼,一样的错误。。。。。。。

  • [开源分享] 基于 appium 的自动化测试工具,支持多进程,性能采集分析等 at 2016年12月01日

    #41 楼 @liruiyu
    #41 楼 @liruiyu 我和你一样的错误呀。。。。

  • 1
  • 2
  • 下一页
  • 关于 / 活跃用户 / 中国移动互联网测试技术大会 / 反馈 / Github / API / 帮助推广
    TesterHome社区,测试之家,由众多测试工程师组织和维护的技术社区,致力于帮助新人成长,提高测试地位,推进质量发展。Inspired by RubyChina
    友情链接 WeTest腾讯质量开放平台 / InfoQ / 掘金 / SegmentFault / 测试窝 / 百度测试吧 / IT大咖说
    简体中文 / 正體中文 / English

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