目录 1.ADB命令简介 2.ADB命令运行原理 3.通过ADB命令连接安卓模拟器 (1)安装安卓模拟器 (2)ADB命令连接安卓模拟器 (3)常用Android模拟器端口号 1.ADB命令简介 ADB全名Andorid Debug Bridge,是一个Debug调试工具,用这个工具可以直接操作管理Android模拟器或者真实的android设备. 开发安卓应用的程序员必须要掌握. 测试工程师在做安卓应用测试时,会使用到. ADB是Android SDK里的一个是一个C/S架构的命令程序(pla…
目录 1.查看进程 2.查看实时资源占用情况 3.查看进程 UID 4.其它ADB Shell命令说明 Android系统是基于 Linux 内核的,也就是说Android系统的底层是Linux系统.所以 Linux 里的很多命令在 Android系统里也有相同或类似的实现,在 adb shell 里就可以调用.前面部分内容已经用到了 adb shell 命令,我们再来补充一下对adb shell命令的认识. 提示:要在Android手机上执行的adb shell命令,就需要先root手机,而虚…
目录 1.主流的移动端自动化测试框架 (1)Robotium (2)Macaca (3)Appium 2.自动化测试工具的选择 3.Appium简介 提示:我们前面说的Android环境搭建和adb命令都是为移动端自动化测试环境搭建做准备的. 1.主流的移动端自动化测试框架 (1)Robotium 支持语言:Java 仅支持Android系统. 不支持跨应用. (2)Macaca 支持语言:Java,Python,Node.js 支持Android和iOS系统. 支持跨应用. (3)Appium…
目录 (一)Appium server安装 方式一:(桌面方式:推荐) 1.Appium Desktop下载 2.Appium Desktop安装 3.Appium Desktop使用 方式二:(Node.js方式) 1.Node.js的下载 2.Node.js的安装 3.Node.js安装验证 4.配置npm 5.Appium server安装 (二)Appium Client安装 我们要使用Appium测试框架,首先就需要安装Appium服务,这里先要简单的明确两个概念. Devices代表…
我们使用Python语言作为测试脚本的编写语言. 执行脚本前提: Android模拟器或者手机是开机状态. 使用确保电脑和Android设备进行了链接. 也就是使用ADB命令adb connect链接设备, 或者通过adb devices命令能够查看到设备. 开启Appium服务. 在Python的开发IDE中(PyCharm)中编写脚本如下: """ 1.学习目标 掌握appium启动手机方法 2.操作步骤 1-说明:明确驱动对象(操作对象) web自动化步骤: 1.指定启…
目录 1.前置代码 2.安装和卸载APP 3.判断APP是否已安装 4.关闭APP软件和关闭驱动对象 5.发送文件到手机和获取手机中的文件 6.获取当前屏幕内元素结构(重点) 7.脚本内启动其他APP 8.将应用程序置于后台运行(重点) 1.前置代码 一个脚本中必须要编写的内容,写在前置代码中: # server 启动参数 desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersio…
目录 1.C/S架构和B/S架构概念 2.C/S结构与B/S架构的区别 3.C/S架构和B/S架构优点和缺点 (1)B/S模式的优点和缺点: (2)C/S模式的优点和缺点: 1.C/S架构和B/S架构概念 (1)C/S架构 C/S架构即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构. 通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势. 早期的软件系统多以此作为首选设计标准. (2)B/S架构 B/S架构即Br…
目录 1.Appium自动化测试架构 2.Appium架构图 3.Session说明 4.Desired Capabilities说明 5.Appium Server说明 6.Appium Clients说明 7.Appium Desktop说明 1.Appium自动化测试架构 Appium是一个C/S架构的自动化测试框架,Appium的核心其实是一个暴露了一系列REST API的Server(服务).(也就是Appium的核心是一个提供了一组REST API的Web服务器.) 这个Server…
目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1)Android端 (2)iOS端 (3)总结 3.ADB执行原理和Appium执行原理 (1)ADB原理 (2)ADB实际操作原理参考图 (3)Appium原理 (4)Appium原理实际参考图( 结合简易原理图 ) 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 Andr…
目录 1.uiautomatorviewer介绍 2.uiautomatorviewer工具打开方式 3.uiautomatorviewer布局介绍 4.uiautomatorviewer工具的使用 之前我们在做Web页面自动化测试的时候就说过,元素定位是页面自动化测试的第一步. 同理App自动化测试的第一步,也是元素的定位. 在APP中定位元素的话,需要借助一些元素定位工具. APP中的元素定位工具大致有三种: uiautomatorviewer工具 Appium Inspector工具 Ch…
目录 1.Appium Inspector介绍 2.Appium Inspector打开方式 3.Appium Inspector布局介绍 4.Appium Inspector工具的配置 5.Appium Inspector工具的使用 6.UIAutomatorviewer工具和Appium Inspector工具对比 APP中的元素定位工具大致有三种: uiautomatorviewer工具 Appium Inspector工具 Chrome Inspect工具 提示:本篇文章介绍Appium…
目录 1.Chrome Inspect介绍 2.Chrome Inspect打开方式 3.Chrome Inspect工具的使用 (1)Chrome Inspect工作前提 (2)Chrome Inspect操作 4.使用Chrome Inspect遇到的问题 (1)Android系统版本问题 (2)所测App的debug模式要打开 (3)Xposed工具的安装 (4)HTTP/1.1 404 Not Found和空白页问题 (5)补充:安卓模拟器打开开发者选项 APP中的元素定位工具大致有三种…
目录 1.by_id定位 2.by_name定位 3.by_class_name定位 4.by_xpath定位 5.by_accessibility_id定位 6.by_android_uiautomator定位 本文说明的是在APP的原生页码中进行元素定位. 如果页面是Web(移动端里的浏览器).混合(APP与WEBVIEW)里含有WEBVIEW页面进行元素定位,元素定位方法同Selenium WebDriver一致,则可以参考Selenium部分的笔记进行参考. 元素定位工具: Androi…
目录 1.元素的基本操作说明 (1)点击操作 (2)清空操作 (3)输入操作 2.综合练习 1.元素的基本操作说明 (1)点击操作 点击操作:click()方法.(同Selenium中使用方式一致) (2)清空操作 清空操作:clear()方法.(同Selenium中使用方式一致) (3)输入操作 输入操作:send_keys()方法. 在移动端的输入操作有两种情况,一种情况是输入非中文内容,另一种情况是输入中文内容. 1)输入英文 使用方法: # value:需要发送到输⼊框内的⽂本 send…
目录 1.获取元素文本内容 (1)text()方法 (2)get_attribute()方法 (3)综合练习 2.获取元素在屏幕上的坐标 1.获取元素文本内容 (1)text()方法 业务场景: 进入设置. 获取所有元素class属性为android.widget.TextView的文本内容. 代码实现: # 定位元素 text_vlaue = driver.find_elements_by_class_name("android.widget.TextView") # 打印页面中cl…
目录 1.swipe滑动 2.scroll滑动 3.drag拖拽事件 4.滑动方法小结 5.拓展:多次滑动 6.综合练习 在Appium中提供了三种滑动的方式,swipe滑动.scroll滑动.drag拖拽事件. 除了这三种滑动方式外,我们还可以自定义一些滑动方式. 下面我们来看看这三种滑动方式. 1.swipe滑动 从一个坐标位置滑动到另一个坐标位置,只能是两个点之间的滑动. swipe()方法说明: swipe(start_x, start_y, end_x, end_y, duration…
目录 1.什么是等待activity出现 2.wait_activity()方法 3.获取当前页面的activity方法 4.综合练习 1.什么是等待activity出现 在启动APP的时候,要配置包名和启动名,一个启动名对应一个页面,也就是启动APP然后打开某一个页面.换句话说,在等待这个页面出现,也就是等待activity出现.(activity相当于启动名) 如果不等待页面完全展示,就直接做下一步点击操作,经常会报错,于是我们会在启动完成的时候加sleep.(同Web自动化类似) 那么问题…
目录 1.手指轻敲操作 2.手指按下和抬起操作 3.等待操作 4.手指长按操作 5.手指移动操作 6.综合练习 APP模拟手势的动作都被封装在TouchAction类中,TouchAction是AppiumDriver的辅助类,主要针对手势操作,如滑动.按.拖动等,原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行. 所有手势都要通过执行函数才会运行. 提示: 我们之前学习的滑动操作,都是对TouchAction进行的封装. 之前我们说可以自定义滑动操作…
目录 1.获取当前手机的时间 2.获取手机屏幕的宽和高 3.获取手机当前网络 4.设置手机网络模式 5.操作手机通知栏 6.综合练习 7.发送键到设备(掌握) 8.手机截图(掌握) 是针对手机一些常用设置功能进行操作的API. 这些API都非常的简单,用的时候直接查询调用就可以了,下面介绍几个非常常用的API. 1.获取当前手机的时间 使用方法:device_time # 调用方式: driver.device_time # 输出结果: 2020-12-04T00:02:50+08:00 2.获…
目录 1.模拟手势点击坐标 2.tap()用法 3.练习 4.弊端 1.模拟手势点击坐标 在定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问) 那就拿出绝招:点击元素所在位置的坐标.(坐标定位) 详细说明: 如下图定位"去看看"这个元素,除了坐标属性,其他没有可用于定位的属性信息了.这个时候就需要用坐标来进行定位点击了. 下图中可以看到右侧bonds属性:[374,831][654,906],我的理解是第一个坐标是红框框长方形的左上角坐标,第二个坐标是红框框长方…
目录 1.先了解什么是Hybrid(混合) 2.识别Webview 3.context上下文 4.Webview和原生页面之前的切换 5.综合练习 我们之前说过的所有操作,都是对原生页面的操作. 在手机APP中,除了原生页面,还是有Webview页面(也就是H5页面),下面我们就说说对Webview页面的操作. 1.先了解什么是Hybrid(混合) 移动混合应用程序的App,即在移动应用程序中嵌入了Webview,通过Webview访问网页. 移动应用和Webview分别属于两个不同的上下文,移…
目录 1.toast介绍 2.toast定位 3.示例 4.封装toast判断 1.toast介绍 Android中的toast是一种简易的消息提示框,toast提示框不能被用户点击,会根据所设置的显示时间自动消失. toas要appium1.6.3以上版本才支持,appium1.4的版本就别浪费时间了. 再来看下toast长什么样,像这种弹出来的消息"再按一次退出百度App",这种消息提示框就是toast了. 如下图所示: 2.toast定位 toast定位需要添加两步操作: 添加启…
目录 1.测试微信小程序前提 2.获取微信小程序的进程 3.代码示例 4.补充:(了解) 微信小程序和微信公众号的测试方式基本上是一样的. 微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试? 我们就以微信小程序来进行讲解,介绍如何测试微信小程序. 1.测试微信小程序前提 获取真机设备标识. 也就是设备和电脑进行连接. 换句话说, 输入adb connect 127.0.0.1:21503 链接逍遥模拟器 输入adb devices 能够获取设备名称. 就是了. 真机安装微信程序.…
目录 1.Android操作系统简介 (1)Android系统诞生 (2)Android系统的结构 (3)Android测试环境搭建整体思路 2.Java环境安装 (1)JDK8下载 (2)安装JDK8 (3)配置Java环境变量 3.Android SDK的安装步骤 (1)Android SDK下载 (2)Android SDK安装 (3)配置Android SDK环境变量 4.SDK manager.exe 闪退打不开解决方案 1.Android操作系统简介 (1)Android系统诞生 2…
目录 1.Android Virtual Devices模拟器 2.Genymotion模拟器 (1)Genymotion模拟器下载 (2)模拟器Genymotion安装 (3)Genymotion模拟器用户注册 (4)使用Genymotion运行安卓系统 (5)Genymotion镜像安装目录 (6)如何快速下载Genymotion中安卓系统镜像文件(ova文件) (7)Genymotion使用导入本地安卓系统镜像 当前市面上Android版本的模拟器还是挺多的,我们主要说明三款Android…
目录 1.启动和关闭ADB服务 2.查看ADB版本 3.指定adb server的网络端口 4.查询已连接设备/模拟器 5.获取安卓系统版本 6.为命令指定目标设备 7.发送文件到手机 8.从手机拉取文件 在上一篇文章中说明了ADB命令的使用方式: 使用ADB命令的前提是保证手机或者模拟器和电脑是连接状态. 使用adb connect 127.0.0.1:+端口号命令,进行链接. 本篇文章详细说明一下常用ADB命令的操作. 1.启动和关闭ADB服务 在某些情况下,可能需要终止然后再启动服务端进程…
目录 9.查看手机运行日志 (1)Android 日志 (2)按级别过滤日志 (3)按 tag 和级别过滤日志 (4)日志格式 (5)清空日志 10.获取APP的包名和启动名 方式一: 方式二: 11.获取APP启动时间 12.查看内存信息 9.查看手机运行日志 ADB命令:adb logcat 只要对Android手机/模拟器的操作,都会记录到日志中. Android 系统的日志分为两部分,底层的 Linux 内核日志输出到 /proc/kmsg,Android 的日志输出到 /dev/log…
目录 步骤1:创建一个测试计划 步骤2:创建线程组 步骤3:创建取样器 步骤4:创建监听器 步骤5:完善信息 步骤6:保存测试计划 步骤7:查看结果 总结:JMeter测试计划要素 当我们第一次打开JMeter的时候,树形标签栏中只有一个"测试计划". 如果想要发送一个最基础的请求,需要操作如下步骤: 步骤1:创建一个测试计划 打开JMeter会默认有一个创建好的测试计划. 一个测试计划描述了一系列JMeter运行时要执行的步骤.一个完整的测试计划包含一个或者多个线程组,逻辑控制器,取…
目录 1.测试计划(Test Plan) 2.线程组 3.取样器(sampler) 4.逻辑控制器(Logic Controller) 5.配置元件(Config Element) 6.定时器(Timer) 7.前置处理器(Per Processors) 8.后置处理器(Post Processors) 9.断言(Assertions) 10.监听器(Listener) JMeter的主要元件有测试计划.线程组.取样器.逻辑控制器.配置元件.前置处理器.后置处理器.监听器.定时器.断言. 其中共…
目录 1.HTTP Cookie管理器介绍 2.HTTP Cookie管理器界面详解 3.JMeter中对Cookie的管理 (1)Cookie的存储 (2)Cookie的管理策略 4.补充:Cookie的属性介绍 1.HTTP Cookie管理器介绍 在接口测试中,某些接口的调用,需要带入已有Cookie,比如有些接口需要登陆后才能访问. JMeter接口请求中使用Cookie有如下两种方式: 直接在HTTP信息头管理器组件中添加Cookie头域信息,适用于已经知道请求所用Cookie数据的情…