appium

Appium移动端自动化测试--元素操作与触摸动作

淺唱寂寞╮ 提交于 2020-04-24 09:28:08
常见自动化动作支持 click sendKeys swipe touch action 元素操作 1.click()点击操作 也可以用tab实现点击操作 driver.find_element_by_id("com.wuba.zhuanzhuan:id/ae8").click() 2.clear()清空输入框内容 driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").clear() 3.send(xx)输入框内输入内容 driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").send_keys("test content") 4.text 获得元素的text内容 print(driver.find_element_by_xpath(" //android.widget.LinearLayout[1]//xxx").text) TouchAction触摸操作 Tap 在支持触摸的设备上单击/点击 Double Tap 在触摸屏上双击 Move To 手指在屏幕上移动/拖动 Long Tap 在触摸屏上长按进行操作 Scroll 触摸屏上滚动 Multi Touch Perform 链式操作(多个操作连接起来) Java TouchActions action = new

小程序UI自动化(一):appium小程序自动化尝试

两盒软妹~` 提交于 2020-04-24 09:27:41
appium 进行 小程序自动化尝试: 由于工作中进行app自动化用的是appium,故首先尝试用appium进行小程序自动化,以美团小程序为例(python脚本实现) 一、配置基础信息 启动微信app python脚本如下: 二、编写测试脚本进入小程序首页 进入美团小程序首页实现脚本如下: 三、定位美团外卖首页元素(尝试结果不理想) (1)尝试用android adk 自带UI Automator定位工具定位 在UI Automator上,点击页面元素,可以发现,小程序页所有文本元素属性class都是android.view.View,图片的class属性都是android.widget.Image,且无id等常用属性值,仅可以通过text,坐标来定位元素唯一性。 (2)获取页面上下文,看是否可以切换至小程序页(无法切换) 尝试打印美团首页 context ,脚本如下: 打印结果: 从结果中可以看到,context只有一个,无法切换至小程序页 总结 小程序view页定位到的元素,如下图: 从上图中可以看出,小程序页所有文本元素属性class都是android.view.View,图片的class属性都是android.widget.Image,且无id等常用属性值,仅可以通过text,坐标来定位元素唯一性。此时可以定位到元素,但是无法区分元素进行断言校验。 四

Appium+python自动化(十二)- Android UIAutomator终极定位凶器(超详解)

妖精的绣舞 提交于 2020-04-24 09:27:27
简介 乍眼一看,小伙伴们觉得这部分其实在异性兄弟那里就做过介绍和分享了,其实不然,上次介绍和分享的大哥是uiautomatorviewer,是一款定位工具。今天介绍的是一个java库,提供执行自动化测试的各种API。   Android团队在4.1版本(API 16)中推出了一款全新的UI自动化测试工具UiAutomator,用来帮助开发人员更有效率的完成App的Debug工作,同时对于测试人员也是一大福音,为什么这么说呢? QA:“那个谁谁谁,我刚刚操作的时候,我发现了一个bug,你写的App打开A页面,再打开B页面有时会出现闪屏问题。(内心独白:我去,这个奇怪的问题” DEV:“嗯?还有这样的问题,麻烦你复现给我看看。(内心独白:吹牛逼,我这么牛逼,我写的App怎么会可能有bug,一定是你用的姿势不对)” QA:一段忙碌的神操作之后...“咦,怎么不出现了?(内心独白:我去,怎么搞的啊,关键时刻掉链子,你倒是快点出来,让我丢脸丢大发了)” DEV:“那你先回去吧,复现再告诉我。(内心独白:呵呵,和我心里想的一样,我写的怎么可能会有bug呢)” 几天过去了...... QA:满心欢喜状,那个谁谁谁“上次那个问题我复现了,操作给你看....我去,怎么又不出现了!(内心独白:一脸淫笑,我说有bug,你让我复现,这又回复现出来吧,刚想完。。。。。额。又看不到了,怎么搞的,气死我)”

python+appium自动化测试(一)-----环境搭建

安稳与你 提交于 2020-04-24 09:27:03
基础背景:   windows7系统 +python3.4版本 环境搭建目标:   使用python编写app自动化测试脚本并成功执行。 搭建步骤:   1.安装 python3 ,安装步骤详见: https://baijiahao.baidu.com/s?id=1605684471000597023&wfr=spider&for=pc ,注意安装完后配置环境变量。   2.安装python编译器 pycharm ,安装步骤详见: https://www.cnblogs.com/dcpeng/p/9031405.html   3.安装 Microsoft .NET Framework 4.5 ,如果电脑上没有安装过,则下载安装包后,双击运行如下文件:net4.5.1.exe    需先确认电脑上是否已安装过Microsoft .NET Framework,确认方法参见: https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#ps_a   4.安装 node ,下载包node-v6.11.4-x64.msi后,双击运行即可。   5.安装 appium 客户端,双击运行 appium-desktop-Setup-1

安卓自动化之元素定位三种方式:

♀尐吖头ヾ 提交于 2020-04-24 09:26:49
方式一: 也就是大家熟悉的 你安装Android sdk E:\Android\android-sdk\tools 目录下的 uiautomatorviewer.bat 直接双击打开就可以定位手机元素 存在问题一: (1)adb 版本不能太低 (2)对于安卓版本高的手机(安卓9.0我就碰到过 死活连不上),无法连接 无法定位 方式二: 前提:需要安装java jdk (1)安装SDK Android SDK 下载地址(需要安装sdk): http://tools.android-studio.org/index.php/sdk 需要在系统变量中添加环境变量(是新增) ANDROID_HOME D:\android\Android\sdk(写自己的地址 别复制了) (2)安装appium-server https://bitbucket.org/appium/appium.app/downloads/ 安装包地址: 安装完成 在命令窗口输入:appium-doctor 检查环境 (以上两个安装完成之前要保证java jdk已安装) 出现 all checks were successful 才是正确的 直接在命令窗口输入 pip install Appium-Python-Client。 就此环境已准备好: (3)weditor链接手机进行调式:

appium+python搭建自动化测试框架_Appium元素定位(二)

北城余情 提交于 2020-04-24 09:26:38
Appium元素定位: 工具:Android\android-sdk\tools uiautomatorviewer.bat 1. id定位: self.driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click() 2. class定位: self.driver.find_element_by_class_name('android.widget.Button').click() (注:一般一个页面上的class属性不唯一,元素不唯一的话定位会报错了) 3. 相对定位: 相对定位是先找到该元素的有对应属性的父元素节点,然后基于父元素进行元素定位。 代码举例: 此处只是举例什么是相对定位,一般有id直接可以定位当然不这么干,在没有id的情况下可以这么定位。。。。。。。。。。。 self.driver.find_element_by_id( ' com.tencent.mobileqq:id/name ' ) self.driver.find_element_by_class_name( ' android.widget.Button ' ).click() uiautomatorviewer截屏: 4. xpath定位: 代码举例: name = self.driver.find_element_by

(appium+python)UI自动化_03_元素定位工具

夙愿已清 提交于 2020-04-24 08:26:52
前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app。定位元素首先需要定位工具来辅助查看页面元素。小编常用的定位工具有2种,分别是uiautomatorviewer、appium inspector。 uiautomatorviewer 是Android sdk 自带的定位工具,元素层级展示清晰,但是定位不到内嵌H5页元素。appium inspector是appium上自带的定位功能,元素层级展示不够清晰,查看元素不够方便,但是可以定位到内嵌H5页元素。 一、uiautomatorviewer定位 前提:已安装配置android sdk环境 1,打开uiautomatorviewer定位工具 点击android sdk->tools->uiautomatorviewer 2,usb连接手机 (1)打开手机开发者模式、usb调试功能 (2)手机usb连接电脑 (3)验证连接成功 mac打开终端(windows打开命令行工具)->输入指令“adb devices”->显示设备号即连接成功 3,刷新页面,查看元素 (1)点击左上角 刷新页面 (2) 点击页面,右侧查看元素 鼠标点击左侧页面元素,右侧可查看元素层级关系和元素id、class等属性详情 二、appium inspector定位 前提:已安装appium客户端版本 1

python+appium 自动化2--元素定位uiautomatorviewer

走远了吗. 提交于 2020-04-24 08:26:23
出处:https://www.cnblogs.com/yoyoketang/p/6128741.html 前言: 可以打开手机上的app了,下一步元素定位uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击操作。 uiautomatorviewer 是android sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的ui来查看应用的布局和组件以及相关的属性。 一、启动uiautomatorviewer.bat 方法1:找到文件后双击打开。 方法2:cmd-->uiautomatorviewer 打开后的页面如图: 二、连接手机 1. cmd--adb devices,确认手机是否正常连接电脑 2. 打开手机京东页面,让屏幕处于点亮状态 3. 点击uiautomatorviewer的左上角安卓机器人按钮Devices Screenshot按钮刷新页面 三、定位元素 1. 移动鼠标到需要定位的元素上,如图:右下角会显示元素对应属性 2, 编写脚本 --接上篇打开app后,休眠五秒,等待页面加载完成 --通过id来定位到充值缴费,执行点击操作 四、元素定位(此处敲黑板,做笔记) 1. appium的webdriver 提供11中元素定位方法,在selenium基础上扩展了3种。 来源: oschina 链接:

移动端自动化openatx开源项目介绍,pytest并发测试框架结合

坚强是说给别人听的谎言 提交于 2020-04-24 07:00:40
开头 相信不少用过appium的同学,对于使用appium的一些体会与感受是否与我相似 1. appium启动服务和app程序非常慢 2. appium多线程并发需要启动多个服务 3. appium必须连接usb线进行自动化测试 所以在Testerhome这个共享氛围很好,也有不少大牛的论坛上爬文章,发现了openatx这个开源项目,直接截图github的README介绍一下项目情况 github地址:https://github.com/openatx 有兴趣的同学可以去为开源项目添砖加瓦 总结一下atx: 1. 快速启动和操作手机端 2. 基于atx-agent的http协议,通过接口调用手机上的二进制atx程序去进行手机操作,实现WiFi无线连接 3. codeskyblue 还搭建了atx-server集群管理,目前在用Python重写atxserver2,将支持跨网域连接设备和一些结构优化 4. 因无需启动多appium服务,只是通过http接口发送命令,支持大量终端同步并发操作 ATX介绍 atx架构图 安装 适用范围 Android手机 4.3+(sdk 18) 命令行CMD或Pycharm自己的venv环境中 pip install -U --pre uiautomator2 然后等待安装成功 初始化设备 手机连接上usb,运行初始化命令 python -m

跟着minium官网介绍学习minium-----(二)

て烟熏妆下的殇ゞ 提交于 2020-04-24 02:58:45
一: 进入minium官方 文档 1. 进入 minium 目录然后运行服务,出现以下提示说明打开成功 , 2. 浏览器直接运行 http://localhost:3000 即可看到效果。 3. 下图为进入网页后的效果图,选择 For MiniProgram(minium) 进入即可 ( 如果小程序是游戏版本则进入 For MiniGame) 二: 打开微信开发工具的安全模式,这一步的作用主要是让工具打开一个端口,用于实现端口连接。跟 appium 运行时要指定端口一样的原理。 2.1 进入微信开发工具界面。 2.2 在工具栏菜单中点击设置 2.3 在下拉 option 中选择安全设置 2.4 设置菜单弹窗中切换的“安全”分页 2.5 服务端口处点击开启 ( 开启之后会自动随机一个端口号 ) 2.6 关闭设置弹窗即可自动保存 三:确认开发者工具调试基础版本大于 >=2.7.3 3.1 进入微信开发工具界面。 3.2 在工具栏菜单中点击设置 3.3 在下拉 option 中选择项目设置 3.3 切换到“本地设置”分页 3.4 将调试基础库选择大于 2.7.3 的库 四:开始运行 minium: 1. 进入工具 cli所在目录,执行下面指令。如果出现错误,可先看看下面的注意说明。 指令:path/to/cli --auto /miniprogram/project/path -