移动端自动化测试实战
思寒
霍格沃兹测试开发学社创始人
24277 人已学习
新⼈⾸单¥59
课程目录
已完结/共 59 讲
第一章:自动化测试理论 (6讲)
第二章:App结构解析 (3讲)
第四章:Android自动化测试 (4讲)
第五章:iOS自动化测试 (6讲)
第六章:基于Page Object模式的自动化测试用例实战 (5讲)
第七章:测试框架封装改造 (4讲)
第八章:自动遍历回归测试 (3讲)
第十章:移动自动化测试持续集成实战 (4讲)
移动端自动化测试实战
登录|注册
留言
30
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 07 | Android App的常见概念
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 自动化测试的价值
04 | 自动化测试常见误区
05 | 自动化测试的技术体系
06 | UI分层测试体系
07 | Android App的常见概念
08 | Android调试桥adb命令详解
09 | 自动化测试常用命令
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 | 参数化与数据驱动
27 | Native原生App的自动化测试
28 | Hybrid混合App的自动化测试
29 | 纯HTML5站自动化测试
30 | 小程序自动化测试
31 | iOS测试工具体系
32 | App Store与苹果证书体系
33 | iOS模拟器自动化测试
34 | iOS真机测试
35 | iOS WebView测试
36 | Safari测试
37 | Page Object设计模式
38 | Page Object六大设计原则
39 | Page Object第一个例子
40 | 基于Page Object模式的移动自动化测试实战
41 | BasePage封装改进
42 | Appium错误排查与日志分析
43 | Appium原理与JSONWP协议分析
44 | Appium源代码分析
45 | Appium二次封装实战
46 | 自动遍历测试方法与常见技术介绍
47 | Monkey Maxim遍历测试工具
48 | AppCrawler跨平台自动遍历测试
49 | 移动自动化测试平台价值
50 | 技术架构与智能设备选型
51 | 多设备管理平台STF
52 | Selenium Grid方案剖析
53 | 基于Jenkins的自动化调度详解
54 | 多设备回归测试
55 | 多设备多分辨率的兼容性测试方法
56 | 测试用例调度
57 | 手机等智能设备调度
58 | 测试报告定制
59 | 结课测试&结束语
本节摘要

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

登录 后留言

全部留言(30)

  • 最新
  • 精选
陈丹
这个bash窗口怎么打开的,如何登陆成功的呢,这部分老师在后续课程中能演示么

作者回复: windows下用git bash,mac下用iterm2或者terminal

2019-10-27
4
菜鸟
C:\Users\Administrator>adb shell am start -n com.tencent.mobileqq/.activity.QQLSActivity -S Stopping: com.tencent.mobileqq Starting: Intent { cmp=com.tencent.mobileqq/.activity.QQLSActivity } Security exception: Permission Denial: starting Intent { flg=0x10000000 cmp=com.tencent.mobileqq/.activity.QQLSActivity } from null (pid=22030, uid=2000) not exported from uid 10128 java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.tencent.mobileqq/.activity.QQLSActivity } from null (pid=22030, uid=2000) not exported from uid 10128 at com.android.server.am.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1953) at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:1264) at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:685) at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:2310) at com.android.server.am.ActivityStarter.execute(ActivityStarter.java:625) at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6109) at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6078) at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:479) at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:161) at android.os.ShellCommand.exec(ShellCommand.java:103) at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:19106) at android.os.Binder.shellCommand(Binder.java:634) at android.os.Binder.onTransact(Binder.java:532) at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:3500) at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3860) at com.android.server.am.OppoActivityManagerService.onTransact(OppoActivityManagerService.java:853) at android.os.Binder.execTransact(Binder.java:731)

作者回复: 这个界面不允许直接启动,你得寻找真正的可启动的入口

2019-10-25
5
2
Carol
老师,请问有推荐的IOS模拟器么?

作者回复: facebook也是改进了apple的模拟器,苹果很保守,第三方很难定制

2019-11-15
3
1
菜鸟
我用真机启动直接就杀死了,不能启动

作者回复: 有可能你获得的入口不对,有些不是入口界面的,可能会提示权限问题,你把报错信息发下吧。

2019-10-23
2
1
菜鸟
我用真机 (输入命令打开app进不去)

作者回复: 真机是可以的,可能是你的环境问题。把命令和报错信息发下看看。

2019-10-23
1
Emma
win10的电脑,输入adb logcat | grep -i displayed查找包名,却报错显示:'grep' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

作者回复: 用git bash环境 或者用findstr替换grep

2020-01-12
默笙歌
老师,我使用你说的adb logcat | grep Displayed命令,在gitbash里边获取程序的入口,雪球已经启动起来,然后捕获到了一个 Displayed com.xueqiu.android/.view.WelcomeActivityAlias, Displayed com.xueqiu.android/.common.MainActivity,我在百度上没有查出来他们两个的区别。如果有其他app的话,选择包名和启动名的话,就选择welcomeActivity吗 $ adb logcat | grep Displayed I/ActivityManager( 1761): Displayed com.vphone.launcher/.Launcher: +5s645ms I/ActivityManager( 1761): Displayed com.android.settings/.Settings: +1s970ms I/ActivityManager( 1761): Displayed com.xueqiu.android/.view.WelcomeActivityAlias: +6s448ms I/ActivityManager( 1761): Displayed com.xueqiu.android/.common.MainActivity: +5s28ms

作者回复: 选择第一个启动的入口,其他的界面是一个可启动入口加载的,可能没法直接启动。

2020-01-07
小猪猪🐷
老师我启动luckin coffee 的时候报以下错,为什么呢 $ adb shell am start -n com.lucky.luckyclient/.splash.boot.BootAdvertActivity -S Stopping: com.lucky.luckyclient Starting: Intent { cmp=com.lucky.luckyclient/.splash.boot.BootAdvertActivity } Security exception: Permission Denial: starting Intent { flg=0x10000000 cmp=com.lucky.luckyclient/.splash.boot.BootAdvertActivity } from null (pid=16267, uid=2000) not exported from uid 10189 java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.lucky.luckyclient/.splash.boot.BootAdvertActivity } from null (pid=16267, uid=2000) not exported from uid 10189 at com.android.server.am.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1702) at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:467) at com.android.server.am.ActivityStarter.startActivityLocked(ActivityStarter.java:283) at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:913) at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4734) at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:417) 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:15518) at android.os.Binder.shellCommand(Binder.java:597) at android.os.Binder.onTransact(Binder.java:495) at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:4328) at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3020) at android.os.Binder.execTransact(Binder.java:702)

作者回复: 看起来是你的入口没找对,你用adb logcat看下入口

2019-12-18
HaiYan
怎么不讲Windows电脑上的查看打印log文件查看APP启动入口的命令?

作者回复: 一样的 windows使用git bash去操作。默认没有grep命令,可以用findstr命令代替

2019-12-13
江边一支笔
老师您好! 使用真机执行命令 adb shell am start -W -n com.xxx.xxx/.mvp.ui.activity.MainActivity -S 运行我们公司app的时候报错 报错信息: Stopping: com.xxx.xxx Starting: Intent { cmp=com.xxx.xxx/.mvp.ui.activity.MainActivity } Security exception: Permission Denial: starting Intent { flg=0x10000000 cmp=com.xxx.xxx/.mvp.ui.activity.MainActivity } from null (pid=4558, uid=2000) not exported from uid 10275

作者回复: 说明你没找对正确的入口,不是每个activity都可以被这样启动的。

2019-12-07
收起评论