Appium基础
文章平均质量分 56
Appium基础知识总结
Liuyuelinjiayou
终有一天,你会静心下来,像个局外人一样看自己的故事,笑着摇摇头。
展开
-
Appium快乐之旅(基础知识汇总)
点击就可以跳转到相关文章了。一、移动测试环境搭建Android测试环境搭建整体思路Android_SDK安装AVD模拟器安装Genymotion模拟器安装二、ADB命令ADB命令介绍常用ADB命令(一)常用ADB命令(二)App的包名和启动名adb shell 命令三、APPium自动化测试框架介绍和安装APPium自动化测试框架介绍C/S架构和B/S架构区别APPium基本原理Desired Capabilities参数介绍APPium安装补充:node.js原创 2020-12-05 18:56:14 · 318 阅读 · 1 评论 -
『与善仁』Appium基础 — 33、操作微信小程序
文章目录1、测试微信小程序前提2、获取微信小程序的进程3、代码示例4、补充:(了解)微信小程序和微信公众号的测试方式基本上是一样的。微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试?我们就以微信小程序来进行讲解,介绍如何测试微信小程序。1、测试微信小程序前提获取真机设备标识。也就是设备和电脑进行连接。换句话说输入adb connect 127.0.0.1:21503 链接逍遥模拟器输入adb devices 能够获取设备名称。就是了。真机安装微信程序。获取原创 2021-01-18 14:21:49 · 421 阅读 · 0 评论 -
『与善仁』Appium基础 — 32、获取toast信息
文章目录1、toast介绍2、toast定位3、示例4、封装toast判断1、toast介绍Android中的toast是一种简易的消息提示框,toast提示框不能被用户点击,会根据所设置的显示时间自动消失。toas要appium1.6.3以上版本才支持,appium1.4的版本就别浪费时间了。再来看下toast长什么样,如下图:像这种弹出来的消息"再按一次退出百度App",这种消息提示框就是toast了。2、toast定位toast定位需要添加两步操作:添加启动参数想要定位toas原创 2021-01-18 14:18:41 · 248 阅读 · 0 评论 -
『与善仁』Appium基础 — 31、webview操作(重点)
文章目录1、先了解什么是Hybrid(混合)?2、识别webview3、context上下文4、webview和原生页面之前的切换5、综合练习我们之前说过的所有操作,都是对原生页面的操作。在手机APP中,除了原生页面,还是有webview页面(也就是H5页面),下面我们就说说对webview页面的操作。1、先了解什么是Hybrid(混合)?移动混合应用程序的App,即在移动应用程序中嵌入了Webview,通过Webview访问网页。移动应用和Webview分别属于两个不同的上下文,移动应用默认的C原创 2020-12-05 18:32:13 · 489 阅读 · 0 评论 -
『与善仁』Appium基础 — 30、模拟手势点击坐标
文章目录1、模拟手势点击坐标2、tap()用法3、练习4、弊端1、模拟手势点击坐标在定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问)那就拿出绝招:点击元素所在位置的坐标。(坐标定位)详细说明:如下图定位"去看看"这个元素,除了坐标属性,其他没有可用于定位的属性信息了。这个时候就需要用坐标来进行定位点击了。下图中可以看到右侧bonds属性:[374,831][654,906],我的理解是第一个坐标是红框框长方形的左上角坐标,第二个坐标是红框框长方形的右下角坐标,所以如果我原创 2020-12-05 18:29:22 · 429 阅读 · 0 评论 -
『与善仁』Appium基础 — 29、常用⼿机操作的API
文章目录1、获取当前⼿机的时间2、获取⼿机屏幕的宽和⾼3、获取⼿机当前⽹络4、设置⼿机⽹络模式5、操作⼿机通知栏6、综合练习7、发送键到设备(掌握)8、⼿机截图(掌握)是针对⼿机⼀些常⽤设置功能进⾏操作的API。这些API都非常的简单,用的时候直接查询调用就可以了,下面介绍几个非常常用的API。1、获取当前⼿机的时间使用方法:device_time# 调用方式:driver.device_time# 输出结果:2020-12-04T00:02:50+08:002、获取⼿机屏幕的宽和⾼原创 2020-12-05 18:26:03 · 283 阅读 · 0 评论 -
『与善仁』Appium基础 — 28、APP模拟手势高级操作
文章目录1、手指轻敲操作2、手指按下和抬起操作3、等待操作4、手指长按操作5、手指移动操作6、综合练习APP模拟手势的动作都被封装在TouchAction类中,TouchAction是AppiumDriver的辅助类,主要针对手势操作,如滑动、按、拖动等,原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。 所有手势都要通过执行函数才会运行。提示:我们之前学习的滑动操作,都是对TouchAction进行的封装。之前我们说可以自定义滑动操作,就是通过封装To原创 2020-12-05 18:23:17 · 417 阅读 · 0 评论 -
『与善仁』Appium基础 — 27、等待activity出现
文章目录(1)什么是等待activity出现(2)wait_activity()方法(3)获取当前页面的activity方法(4)综合练习(1)什么是等待activity出现在启动app的时候,要配置包名和启动名,一个启动名对应一个页面,也就是启动app然后打开某一个页面。换句话说,在等待这个页面出现,也就是等待activity出现。(activity相当于启动名)如果不等待页面完全展示,就直接做下一步点击操作,经常会报错,于是我们会在启动完成的时候加sleep。(同web自动化类似)那么问题来了,原创 2020-12-03 23:49:43 · 301 阅读 · 0 评论 -
『与善仁』Appium基础 — 26、滑动方法综合练习
文章目录(5)拓展:多次滑动(6)综合练习(5)拓展:多次滑动需求:实现多次滑动手机屏幕的效果。代码如下:(多看里边的注意事项)"""1.学习目标 掌握多次滑动操作(上面三种滑动方式,那种都可以)2.操作步骤 以scroll方式滑动为例。3.需求 在设置APP首页实现多次滑动(向上滑动) 从存储滑动到蓝牙 再从安全滑动到存储"""# 1.导入appiumimport timefrom appium import webdriver# 2.原创 2020-12-03 23:47:58 · 598 阅读 · 0 评论 -
『与善仁』Appium基础 — 25、滑动方法
文章目录(1)swipe滑动(2)scroll滑动(3)drag拖拽事件(4)滑动方法小结在Appium中提供了三种滑动的方式,swipe滑动、scroll滑动、drag拖拽事件。除了这三种滑动方式外,我们还可以自定义一些滑动方式。下面我们来看看这三种滑动方式。(1)swipe滑动从⼀个坐标位置滑动到另⼀个坐标位置,只能是两个点之间的滑动。swipe()方法说明:swipe(start_x, start_y, end_x, end_y, duration=None)参数:1.start_原创 2020-12-03 23:45:14 · 897 阅读 · 0 评论 -
『与善仁』Appium基础 — 24、获取元素文本内容
文章目录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")# 打印页面中class_name为an原创 2020-12-03 23:42:45 · 5718 阅读 · 1 评论 -
『与善仁』Appium基础 — 23、元素基本操作
文章目录1、点击2、清空3、输入(1)输入英文(2)输入中文4、综合练习:1、点击点击操作:click()方法。(同Selenium中使用方式一致)2、清空清空操作:clear()方法。(同Selenium中使用方式一致)3、输入输入操作:send_keys()方法。在移动端的输入操作有两种情况,一种情况是输入非中文内容,另一种情况是输入中文内容。(1)输入英文使用方法:# value:需要发送到输⼊框内的⽂本send_keys(vaule)业务场景:打开设置点击搜索按钮输原创 2020-12-03 23:40:08 · 302 阅读 · 0 评论 -
『与善仁』Appium基础 — 22、元素定位
文章目录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部分的笔记进行参考。元素定位工具:Android使用Android SDK里的原创 2020-12-03 23:38:00 · 631 阅读 · 0 评论 -
『与善仁』Appium基础 — 21、元素定位工具之Chrome Inspect
@[toc ](三)Chrome Inspect定位工具1、Chrome Inspect介绍Chrome Inspect定位工具是用来抓取app中Webview页面的。为了项目的需求,为了更好的保证效果和布局跨平台,Android&H5混合开发一般是我们不错的选择。Google浏览器中的Chrome Inspect定位工具,提供了一个移动端Web页面开发调试的功能,通过它我们可以调试手机页面,可以看到页面的源码,从而进行元素的定位。使用Chrome Inspect定位工具的前提条件使用C原创 2020-12-03 16:13:17 · 1285 阅读 · 0 评论 -
『与善仁』Appium基础 — 20、元素定位工具之Appium Inspector
文章目录(二)Appium Inspector定位工具1、Appium Inspector介绍2、Appium Inspector打开方式3、Appium Inspector布局介绍4、Appium Inspector工具的配置5、Appium Inspector工具的使用(1)Inspector 定位控件界面的详细介绍(2)Selected Element 的介绍(3)Search for element 的介绍(4)在Appium Inspector中操作手机(5)Start Recording 的介绍原创 2020-12-03 16:06:18 · 1974 阅读 · 0 评论 -
『与善仁』Appium基础 — 19、元素定位工具之UI Automator Viewer
文章目录(一)uiautomatorviewer定位工具1、uiautomatorviewer介绍2、uiautomatorviewer工具打开方式3、uiautomatorviewer布局介绍4、uiautomatorviewer工具的使用之前我们在做web页面自动化的时候就说过,元素定位是页面自动化的第一步。同理App自动化测试的第一步,也是元素的定位。在APP中定位元素的话,需要借助一些元素定位工具。APP中的元素定位工具大致有三种:uiautomatorviewerAppium Ins原创 2020-12-03 15:56:44 · 1021 阅读 · 0 评论 -
『与善仁』Appium基础 — 18、APPium基础操作API
文章目录1、前置代码2、安装和卸载APP3、判断APP是否已安装4、关闭app软件和关闭驱动对象5、发送文件到手机和获取手机中的文件6、获取当前屏幕内元素结构(重点)7、脚本内启动其他app8、将应用程序置于后台运行(重点)1、前置代码一个脚本中必须要编写的内容:# server 启动参数desired_caps = {}desired_caps['platformName'] = 'Android'desired_caps['platformVersion'] = '5.1'desired_原创 2020-12-02 21:16:14 · 278 阅读 · 0 评论 -
『与善仁』Appium基础 — 17、Appium的第一个Demo
我们使用Python语言作为测试脚本的编写语言。执行脚本前提:Android模拟器或者手机是开机状态。使用确保电脑和Android设备进行了链接。也就是使用ADB命令adb connect链接设备,或者通过adb devices命令能够查看到设备。开启Appium服务。在Python的开发IDE中(PyCharm)中编写脚本如下:"""1.学习目标 掌握appium启动手机方法2.操作步骤 1-说明:明确驱动对象(操作对象) web自动化步骤:原创 2020-12-02 21:13:44 · 356 阅读 · 0 评论 -
『与善仁』Appium基础 — 16、Appium测试环境搭建总结
文章目录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测试环境搭建Android测试环境需要搭建三个环境,J原创 2020-12-02 21:11:03 · 253 阅读 · 0 评论 -
『与善仁』Appium基础 — 15、补充:node.js介绍
文章目录`node.js`是什么?为什么我们要用`node.js`?node.js 为什么能高并发?解释说明:参考:https://www.zhihu.com/question/33578075https://developer.ibm.com/zh/articles/os-nodejs/https://segmentfault.com/a/1190000019283751https://www.cnblogs.com/lswit/p/10083804.htmlnode.js是什么?n原创 2020-12-02 21:06:51 · 282 阅读 · 0 评论 -
『与善仁』Appium基础 — 14、APPium安装(包含Node.js安装)
文章目录(一)APPium server安装方式一:(推荐)1、Appium Desktop下载2、Appium Desktop安装3、Appium Desktop使用方式二:1、Node.js的下载2、Node.js的安装3、Node.js安装验证4、配置npm5、Appium server安装启动Appium服务器停止Appium服务器(二)Appium Client安装我们要使用APPium测试框架,首先就需要安装APPium服务,Devices代表我们要链接的手机,Appium Client为我们原创 2020-12-02 21:05:16 · 1257 阅读 · 0 评论 -
『与善仁』Appium基础 — 13、补充:Desired Capabilities参数介绍
文章目录(1)通用参数(2)仅限AndroidUIAutomator(1和2)只有UIAutomator 2(3)仅限IOS下面介绍一下Desired capabilities的参数:提示:Desired capabilities的参数非常的多,但是在我们实际的工作用,常用的也就是其中的几个,我们没有必要全部都记下来,以后我们用到哪些参数,就掌握哪些参数就可以了。Desired capabilities参数官方查看地址:http://appium.io/docs/en/writing-runni原创 2020-12-02 20:53:04 · 548 阅读 · 0 评论 -
『与善仁』Appium基础 — 12、APPium基本原理
文章目录1、APPium自动化测试架构2、APPium架构图:3、Session4、Desired Capabilities5、Appium Server6、Appium Clients7、Appium Desktop1、APPium自动化测试架构APPium是一个C/S架构的自动化测试框架,APPium的核心其实是一个暴露了一系列REST API的server。(也就是Appium的核心是一个提供了一组REST API的Web服务器。)这个server的功能其实很简单:监听一个端口,然后接收由cli原创 2020-12-02 20:50:53 · 240 阅读 · 0 评论 -
『与善仁』Appium基础 — 11、补充:C/S架构和B/S架构
文章目录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架构即Browser/S原创 2020-12-02 20:46:01 · 341 阅读 · 0 评论 -
『与善仁』Appium基础 — 10、APPium自动化测试框架介绍
文章目录1、主流的移动端⾃动化⼯具(1)Robotium(2)Macaca(3)Appium2、⾃动化测试⼯具选择的关注点3、APPium简介我们前面说的Android环境搭建和adb命令都是为移动端自动化测试环境搭建做准备的。1、主流的移动端⾃动化⼯具(1)Robotium⽀持语⾔:Java仅⽀持Android系统不⽀持跨应⽤(2)Macaca⽀持语⾔:Java,Python,Node.js⽀持Android和iOS系统⽀持跨应⽤(3)Appium⽀持语⾔:Java,C#原创 2020-12-02 20:44:19 · 301 阅读 · 0 评论 -
『与善仁』Appium基础 — 9、adb shell 命令
文章目录1、查看进程2、查看实时资源占用情况3、查看进程 UID4、其它adb shell 命令Android系统是基于 Linux 内核的,也就是说Android系统的底层是Linux系统。所以 Linux 里的很多命令在 Android系统里也有相同或类似的实现,在 adb shell 里就可以调用。前面部分内容已经用到了 adb shell 命令,我们再来补充一下对adb shell 命令的认识。提示:要在Android手机上执行的adb shell命令,就需要先root手机,而虚拟机是直接ro原创 2020-11-21 15:55:45 · 204 阅读 · 0 评论 -
『与善仁』Appium基础 — 8、补充:App的包名(appPackage)和启动名(appActivity)
文章目录补充1、包名(1)看源代码(2)查看手机系统设置(3)查看 /data/data/ 目录(4)GT软件补充2、启动名(1)看源代码(2)Logcat(3)dump package 包名(4)Monkey参考:http://www.cnblogs.com/by-dream/p/5157308.html补充1、包名包名(appPackage)在Android系统中是判断一个App的唯一标识,不同的App可以有同样的名字,但是它的包名不可以相同。例如我可以自己编译生成一个App也叫“微信”,但原创 2020-11-21 15:53:45 · 616 阅读 · 0 评论 -
『与善仁』Appium基础 — 7、常用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)Android 日志原创 2020-11-21 15:47:54 · 208 阅读 · 0 评论 -
『与善仁』Appium基础 — 6、常用ADB命令(一)
文章目录1、启动和关闭adb服务2、查看adb版本3、指定adb server的网络端口4、查询已连接设备/模拟器5、获取安卓系统版本6、为命令指定目标设备7、发送⽂件到⼿机8、从⼿机拉取⽂件使用adb命令的前提是保证手机或者模拟器和电脑是连接状态。使用adb connect 127.0.0.1:+端口号命令,进行链接。1、启动和关闭adb服务在某些情况下,可能需要终止然后再启动服务端进程,例如ADB不响应命令的时候,可以通过重启解决问题。开启命令行终端执行命令:(1)启动adb服务,adb命令原创 2020-11-21 11:11:23 · 318 阅读 · 0 评论 -
『与善仁』Appium基础 — 5、ADB命令介绍
文章目录1、ADB命令简介2、ADB命令运行原理3、通过ADB命令连接安卓模拟器1、ADB命令简介ADB全名Andorid Debug Bridge,是⼀个Debug调试⼯具,用这个工具可以直接操作管理android模拟器或者真实的android设备。开发安卓应用的程序员必须要掌握。测试工程师在做安卓应用测试时,会使用到。ADB是Android-SDK里的一个是一个C/S架构的命令程序(platform-tools文件夹中),其中客户端是我们操作的电脑,服务器端是Android设备。ADB就是原创 2020-11-21 10:54:18 · 359 阅读 · 0 评论 -
『与善仁』Appium基础 — 4、移动端测试环境搭建(四)之Genymotion模拟器安装
文章目录Genymotion模拟器1、Genymotion模拟器下载2、模拟器Genymotion安装3、Genymotion模拟器用户注册4、使用Genymotion运行安卓系统5、Genymotion镜像安装目录6、如何快速下载Genymotion中安卓系统镜像文件(ova文件)7、Genymotion使用导入本地安卓系统镜像Genymotion模拟器Genymotion是一套完整的工具,它提供了Android虚拟环境。但运行其上的安装模拟器时,需要使用VirtualBox虚拟机软件进行配合。1、原创 2020-11-21 10:46:56 · 327 阅读 · 0 评论 -
『与善仁』Appium基础 — 3、移动端测试环境搭建(三)之AVD模拟器安装
文章目录1、Android Virtual Devices安装当前市面上Android版本的模拟器还是挺多的,我们主要说明三款Android模拟器。分别是:Android Virtual Devices、Genymotion、国内安卓模拟器。Android Virtual Devices是Android SDK自带的模拟器,根据Android SDK不同平台版本,可在Windows或Mac等上进行创建与使用模拟器。Genymotion是一款比较出名的模拟器,一般使用Android模拟器的话都原创 2020-11-21 10:16:44 · 505 阅读 · 0 评论 -
『与善仁』Appium基础 — 2、移动端测试环境搭建(二)之Android_SDK安装
文章目录(三)Android_SDK安装1、Android-sdk下载2、Android-sdk的使用(1)解压Android SDK压缩包(2)Android API下载(3)配置国内镜像下载Android API3、配置Android-sdk环境变量4、SDK manager.exe 闪退打不开解决方案(三)Android_SDK安装Android SDK 指的是Android专属的软件开发工具包。Android SDK是一种免费的专业编程语言,可让您创建Android应用程序。由Google针对原创 2020-11-21 10:03:14 · 365 阅读 · 0 评论 -
『与善仁』Appium基础 — 1、移动端测试环境搭建(一)
文章目录(一)Android操作系统简介1、Android系统诞生2、Android系统的结构3、Android测试环境搭建整体思路(二)Java环境安装1、JDK8下载2、安装JDK83、配置Java环境变量IOS手机必须在Mac系统下才能运行,所以移动端测试我们以Android手机为例。(一)Android操作系统简介1、Android系统诞生2003年,Andy Rubin等人创建Android公司,并组建Android团队。2005年8月17日,Google低调收购了成立仅22个月的高科原创 2020-11-21 09:54:28 · 440 阅读 · 0 评论