当前播放: 11 | Appium Desktop安装
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:自动化测试理论 (6讲)
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 自动化测试的价值
免费
04 | 自动化测试常见误区
免费
05 | 自动化测试的技术体系
免费
06 | UI分层测试体系
第二章:App结构解析 (3讲)
07 | Android App的常见概念
08 | Android调试桥adb命令详解
09 | 自动化测试常用命令
第三章:App自动化测试框架Appium (17讲)
10 | Appium架构介绍
11 | Appium Desktop安装
12 | Appium Server安装
13 | Appium Desktop用例录制
14 | 用例结构解析
15 | 使用隐式等待让用例更稳定
16 | 控件定位方法
17 | 常用自动化API
18 | 长按/滑动等TouchAction应用
19 | 测试用例的改造
20 | capability使用进阶
21 | Appium设备交互API
22 | 使用显式等待处理复杂等待条件
23 | 高级XPath定位
24 | Android Toast识别
25 | 使用断言验证预期结果
26 | 参数化与数据驱动
第四章:Android自动化测试 (4讲)
27 | Native原生App的自动化测试
28 | Hybrid混合App的自动化测试
29 | 纯HTML5站自动化测试
30 | 小程序自动化测试
第五章:iOS自动化测试 (6讲)
31 | iOS测试工具体系
32 | App Store与苹果证书体系
33 | iOS模拟器自动化测试
34 | iOS真机测试
35 | iOS WebView测试
36 | Safari测试
第六章:基于Page Object模式的自动化测试用例实战 (5讲)
37 | Page Object设计模式
38 | Page Object六大设计原则
39 | Page Object第一个例子
40 | BasePage封装改进
41 | 基于Page Object模式的移动自动化测试实战
第七章:测试框架封装改造 (4讲)
42 | Appium错误排查与日志分析
43 | Appium原理与JSONWP协议分析
44 | Appium源代码分析
45 | Appium二次封装实战
第八章:自动遍历回归测试 (3讲)
46 | 自动遍历测试方法与常见技术介绍
47 | Monkey Maxim遍历测试工具
48 | AppCrawler跨平台自动遍历测试
第九章:自动化测试平台 (2讲)
49 | 移动自动化测试平台价值
50 | 技术架构与智能设备选型
11 | Appium Desktop安装

11 | Appium Desktop安装

思寒
TesterHome 社区测试专家、霍格沃兹测试学院创始人
59讲 约1100分钟2370
单独订阅¥129
2人成团¥99
2
本节摘要

Appium 参考文档汇总与安装、课件和 Demo 地址
https://github.com/geektime-geekbang/Geek_AppAutomationTesting

登录 后留言

精选留言(24)

  • 奉孝
    老师,为啥我sdk环境配置没问题,启动appium服务时,还是提示adb找不到,且报错的提示路径和我环境变量中sdk的路径不一样呢

    作者回复: 需要重启下机器,有的时候刚配置完是不生效的,需要重启对应的全部进程,或者简单的重启机器就可以了

    2019-11-06
    1
    1
  • 行脚阿姨
    为什么我在appium desktop里面设置了需要的连接参数,但是点击Start Session不成功呢。
    [Appium] Creating new AndroidDriver (v4.1.1) session
    [Appium] Capabilities:
    [Appium] appActivity : .view.WelcomeActivityAlias
    [Appium] appPackage : com.xueqiu.android
    [Appium] deviceName: 192.168.25.102:5555
    [Appium] platformName: Android
    [Appium] newCommandTimeout: 0
    [Appium] connectHardwareKeyboard: true
    [BaseDriver] Creating session with MJSONWP desired capabilities: {"appActivity ":".view.Welc...
    [BaseDriver] The following capabilities were provided, but are not recognized by appium: appActivity , appPackage , connectHardwareKeyboard.
    [AndroidDriver] Error: The desired capabilities must include either an app, appPackage or browserName
    [AndroidDriver] at Object.wrappedLogger.errorAndThrow (C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\appium-support\lib\logging.js:78:13)

    作者回复: Error: The desired capabilities must include either an app, appPackage or browserName

    这句话的意思是你需要配置这几个参数,看下你是不是写错了

    2019-11-05
    1
  • 小猪猪🐷
    老师,我用appium创建session报如下错:Error
    An unknown server-side error occurred while processing the command. Original error: Cannot read property 'toLowerCase' of undefined


    这是填写内容:
    {
      "platformName": "Andriod",
      "platformVersion": "MIUI 10.0",
      "deviceName": "Redmi 6 Pro",
      "appPackage": "com.xueqiu.android",
      "appActivity": ".view.WelcomeActivityAlias",
      "unicodeKeyboard": "True",
      "resetKeyboard": "True"
    }

    作者回复: node的版本问题吧,你的版本是多少?升级到10试试

    2019-12-19
  • Geek_7948a3
    启动报错:An unknown server-side error occurred while processing the command. Original error: Failed to launch Appium Settings app: Cannot start the 'io.appium.settings' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Activity name '.Settings' used to start the app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity
    2019-12-15
  • 小猪猪🐷
    老师,为什么我在session添加到devicename的时候就报错呢。这个怎么解决呢
    An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command 'D:\\AndroidProject\\AndroidSDK\\platform-tools\\adb.exe -P 5037 -s 30b14c3d0205 shell pm install -g /data/local/tmp/appium_cache/3d97225b036c28750562ef8962defee6b1af19a4.apk' exited with code 1'; Stderr: 'Error: java.lang.SecurityException: You need the android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS permission to use the PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS flag'; Code: '1'

    作者回复: 是安装问题,安装的时候没权限,在的手机上应该有一些配置是可以修改的。你用的什么品牌的手机?

    2019-12-12
    1
  • 乾坤离震兑坎巽艮
    启动安卓模拟器,模拟器一直黑屏。配置的是安卓10 版本,请问老师这是什么情况?

    作者回复: 机器性能问题吧,你可以换个其他的模拟器,比如genymotion,或者给机器留足资源去运行。

    2019-12-09
  • 江边一支笔
    老师,连接模拟器没有问题,但是连接真机的时候报错,请问这个要怎么解决?
    An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command 'D:\\Android\\android-sdk\\platform-tools\\adb.exe -P 5037 -s 5dfbdbf3 shell settings delete global hidden_api_policy_pre_p_apps' exited with code 255'; Stderr: 'Security exception: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
     
     java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
     at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2041)
     at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1104)
     at com.android.providers.settings.SettingsProvider.deleteGlobalSetting(SettingsProvider.java:1087)
     at com.android.providers.settings.SettingsProvider.delete(SettingsProvider.java:669)
     at android.content.ContentProvider$Transport.delete(ContentProvider.java:404)
     at com.android.providers.settings.SettingsService$MyShellCommand.deleteForUser(SettingsService.java:406)
     at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:289)
     at android.os.ShellCommand.exec(ShellCommand.java:103)
     at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:51)
     at android.os.Binder.shellCommand(Binder.java:634)
     at android.os.Binder.onTransact(Binder.java:532)
     at android.os.Binder.execTransact(Binder.java:731)'; Code: '255'

    作者回复: 这个是跟具体手机型号有关的,有些手机会拦截adb的执行,一般在系统配置里可以设置信任。我有个关于这个问题的所有解决方案的介绍,我回头给你更新到文档里。

    2019-12-09
  • 梦幻的白夜
    Encountered internal error running command: Error executing adbExec. Original error: 'Command 'D:\\sdk\\platform-tools\\adb.exe -P 5037 -s emulator-5554 shell pm install -r /data/local/tmp/appium_cache/0cc1725a60a05dbb5d0d09256f2fc6ece7e3b10f.apk' timed out after 20000ms'. Try to increase the 20000ms adb execution timeout represented by 'uiautomator2ServerInstallTimeout' capability
     你好老师,上面这个报错是什么原因导致的呀,点击start session后一直没有启动成功,报超时错误

    作者回复: 安装Uiautomator server超时,你自己提取命令独立执行下吧
    adb.exe -P 5037 -s emulator-5554 shell pm install -r /data/local/tmp/appium_cache/0cc1725a60a05dbb5d0d09256f2fc6ece7e3b10f.apk 这个apk可以自己从本地上传。

    2019-12-06
  • 梦幻的白夜
    “Encountered internal error running command: Error: Could not find 'adb.exe' in PATH. Please set the ANDROID_HOME or ANDROID_SDK_ROOT environment variables to the corect Android SDK root directory path. ”
    你好老师,我配置好内容点击Start session后报上面这个错误,本地环境变量配置应该是正确的

    作者回复: 你估计配置了ANDROID_HOME后忘记重启进程了

    2019-12-06
  • 秦时明月
    老师aapt dump badging D:\xueqiu.apk 我这样为什么查看不到包的入口信息呢


    作者回复: 是雪球特殊的配置导致的,可以用新版的apkanalyzer试试

    2019-12-04
  • Peter
    An unknown server-side error occurred while processing the command. Original error: Could not sign with default certificate. Original error Command 'C:\Program Files\Java\jdk1.8.0_77\bin\bin\java.exe' not found. Is it installed?

    作者回复: 你的JAVA_HOME设置错了,去掉最后的bin后缀。

    2019-11-25
  • 薛博文
    An unknown server-side error occurred while processing the command. Original error: Failed to launch Appium Settings app: Condition unmet after 5280 ms. Timing out.
    报这个错误 启动不起来,老师麻烦帮忙看下

    作者回复: 你这个错误很少见,是settings没启动成功,你可以试试卸载重装下。io.appium.settings

    2019-11-23
  • 骊💃歌
    老师,我想问appium,您下载的是哪个版本?我的版本没有录制脚本的功能

    作者回复: 这个一直都有吧,你从官网下载appium desktop就可以了

    2019-11-14
  • Lyx
    老师您好,我通过连接真机(Android版本=8)使用appium,在打开非系统应用时,报安全问题,权限被拒绝。请问有什么解决方案吗?下面是报错信息:
    java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.lefull.tenant/.ui.TenantActivity } from null (pid=3369, uid=2000) not exported from uid 10305
    at com.android.server.am.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1900)
    at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:627)
    at com.android.server.am.ActivityStarter.startActivityLocked(ActivityStarter.java:383)
    at com.android.server.am.HwActivityStarter.startActivityLocked(HwActivityStarter.java:219)
    at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1163)
    at com.android.server.am.HwActivityStarter.startActivityMayWait(HwActivityStarter.java:364)
    at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:5173)
    at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:412)
    at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:141)
    at android.os.ShellCommand.exec(ShellCommand.java:96)
    at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:16306)
    at android.os.Binder.shellCommand(Binder.java:595)
    at android.os.Binder.onTransact(Binder.java:493)
    at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:4272)
    at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3274)
    at com.android.server.am.HwActivityManagerService.onTransact(HwActivityManagerService.java:817)
    at android.os.Binder.execTransact(Binder.java:698)'; Code: '255'

    作者回复: 在系统设置里应该可以配置为信任adb吧

    2019-11-14
    3
  • 海川
    Adb找不到,环境变量也配了,可以用where adb查看是否有其他的adb,删掉其他的就可以了
    2019-11-13
  • 🚀
    启动会话报错找不到adb.exe
    命令行里面可以

    C:\Users\15839>adb version
    Android Debug Bridge version 1.0.41
    Version 29.0.5-5949299
    Installed as C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe

    作者回复: 你可能是刚配置的,重启下机器就可以了。本质就是找的path变量,path变量里有就可以

    2019-11-08
  • weigtman
    建立会话的时候我这边安装apk 报了个空指针呢

    作者回复: 你贴下代码看看,估计是你代码的问题。

    2019-11-02
  • 大龄小学生
    访问github这么快,难道采用了科学的方法上网?

    作者回复: 目前还没被封吧,也可以适当的代理下 ;)

    2019-11-02
  • weigtman
    老师我用的真机,简单的name,包 和activity 都是对的,start的时候空指针了,咋回事呀

    作者回复: 你贴下代码看看

    2019-11-01
  • nmm
    老师,用appium定位不到我们公司做的软件的输入框,这种情况怎么处理,我是在游戏登录界面定位不到,定位只能定位到整个界面

    作者回复: 通常游戏控件都是自定义控件,使用的是cocos、unity等框架。游戏测试推荐使用网易的airtest框架。appium也提供了图像识别、ai识别等能力。但是对游戏控件的识别,还是需要游戏相关的sdk支持才能获得更好的效果。网易airtest的poco有对应的支持,你可以看下。

    2019-10-31
收起评论
看过的人还看
软件测试52讲

茹炳晟  eBay中国研发中心,测试基础架构技术主管

63讲 | 13557 人已学习

拼团 ¥79 原价 ¥99
DevOps实战笔记

石雪峰  京东商城工程效率专家

35讲 | 3513 人已学习

拼团 ¥79 原价 ¥99
性能工程高手课

庄振运  Facebook性能优化和容量管理高级专家

36讲 | 2096 人已学习

¥99
性能测试实战30讲

高楼  前HP高级性能专家,7DGroup创始人

30讲 | 2682 人已学习

限时 ¥68 原价 ¥99