Appium+RobotFrameWork测试环境搭建
前提:搭建好robotframework环境
RF基于python2.7的版本实现的一套开源自动化测试框架
推荐使用Appium Desktop,
搭建Appium环境:
1. 搭建JDK
2. 搭建SDK环境;SDK:software development kit 软件包,常用的软件是UIAutomatorViewer,进行移动端应用的元素定位
3. 连接的移动端设备,安卓真机或者模拟器(夜神)
PS:安装完模拟器之后,将sdk中的adb.exe文件复制到夜神的安装路径下的nox_adb.exe,并重命名为nox_adb.exe
4. 安装Appium desktop,直接下载安装即可。 如果安装的是Appium server,需要配置node.js,Appium server路径到环境系统变量中
5. 在RobotFrameWork中导入Appium的包,实现对移动端App的自动化测试
启动conmand命令窗口,输入pip install robotframework-appiumlibrary
6. 启动RobotFrameWork,导入AppiumLibrary,导包时,包名大小写敏感
导入AppiumLibrary后,可能会报错,提示six not found的error,启动conmand窗口,输入 pip install six,然后重启RobotFrameWork
RobotFrameWork的工程结构:
新建Project,选择type为directory——新建Suite,选择type为file——在Suite中导入library——新建Case
RF本身是一个关键字驱动的方式来实现自动化的。
腾讯QQ的登录demo:
1.RF连接模拟器,启动腾讯QQ
Open Application参数解析:
1.Appium服务端,连接固定
2.配置Appium的Capabilities:
deviceName 设备名称 可以通过conmand窗口输入 adb devices获取到
platformName 操作系统 Android
platformVersion 系统版本 4.4.2
appPackage 被测包名
com.lixin.yezonghui
appActivity 被测应用的主入口
.splash.SplashActivity
2. 进入QQ登录界面
要获取元素的定位,然后基于已定位的元素进行相对于的操作。
Appium1.6.3(客户端版)解决每次运行都需要安装Unlock以及AppiumSetting的问题
文件1地址:/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/lib/android-helpers.js
注释掉:await helpers.pushSettingsApp(adb);
注释掉:await helpers.pushUnlock(adb);
文件2地址:
/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/build/lib/android-helpers.js
注释掉:return
_regeneratorRuntime.awrap(helpers.pushSettingsApp(adb));
新增:return context$1$0.abrupt('return', defaultIME);
注释掉:return
_regeneratorRuntime.awrap(helpers.pushUnlock(adb));
新增:return context$1$0.abrupt('return',
defaultIME);
重启appium
Appium
Setting和Unlock在测试过程中不要轻易去掉。
虽然AppiumSetting不知道做什么用的,但是Unlock在手机锁屏的情况下会有解锁的效果。如果没有Unlock,锁屏状态下client会启动失败,而有Unlock时会自动解锁,然后执行下一步
如果有谁知道Appium Setting是做什么的,希望大家给科普一下~
AppiumLibrary常用关键字
关键字 |
含义 |
实例 |
备注 |
Click button |
点击按钮 |
Click button 登录 |
这里的登录是class属性,必须是button |
Click element |
点击元素 |
Click element [locator] |
Locator可以是resource-id,也可以是xpath,但必须是当前页面唯一存在的,一般用该关键字可以完成所有元素点击 |
Click text |
点击文字 |
Click text 我的 |
我的需要是当前页面唯一存在的 |
Input text |
在指定元素中输入文本 |
Input text [locator] 111 |
Locator可以是resource-id,也可以是xpath |
Swipe |
滑动屏幕 |
Swipe 1000 1800 100 1800 |
|
Get Text |
获取某标签内容 |
${account} |
获取内容后存储到指定变量中,从而在后续脚本中调用该内容 |
二、校验函数
关键字 |
含义 |
实例 |
备注 |
Element |
检查元素的name属性 |
Element |
locator可以是resource-id,也可以是xpath |
Element |
检查元素是否可用/可见 |
Element |
|
Page |
检查界面包含某些元素 |
Page |
|
Page |
检查界面包含某些文字信息 |
Page |
|
Page |
检查界面不包含某些元素 |
Page |
|
Page |
检查界面不包含某些文字信息 |
Page |
三、等待函数
关键字 |
含义 |
实例 |
备注 |
Wait Until |
等待直到界面中包含某些文字,才进行下一步 |
Wait Until |
默认等待时间为5s |
Wait Until |
等待直到界面中包含某些元素,才进行下一步 |
Wait Until |
locator可以是resource-id,也可以是xpath |
Wait Until |
等待直到界面中不包含某些文字,才进行下一步 |
Wait Until |
|
Wait Until |
等待直到界面中不包含某些元素,才进行下一步 |
Wait Until |
Appium+RobotFrameWork测试环境搭建的更多相关文章
- RobotFramework测试环境搭建记录
Robotframwork测试环境搭建记录 1.安装Python2.7(https://www.python.org/) 在环境变量path中加入“C:\Python27” 安装后的验证方法为在命令行 ...
- Appium Python测试环境搭建
详细参考地址:https://www.cnblogs.com/amoyshmily/p/10500687.html 1,Appium安装:https://github.com/appium/appiu ...
- 【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结
Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始i ...
- 【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结
Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃 ...
- 『与善仁』Appium基础 — 14、Appium测试环境搭建
目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...
- 『与善仁』Appium基础 — 1、Android系统的测试环境搭建
目录 1.Android操作系统简介 (1)Android系统诞生 (2)Android系统的结构 (3)Android测试环境搭建整体思路 2.Java环境安装 (1)JDK8下载 (2)安装JDK ...
- Linux测试环境搭建的学习建议
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...
- 总结Selenium自动化测试方法(二)测试环境搭建
(接上期内容) 二.测试环境搭建 1.安装python 现在python3.0比python2.0多了一些改进的功能(详见http://zhidao.baidu.com/link?url=3sT1g7 ...
- https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安 ...
- 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security Socket Layer)全称 ...
随机推荐
- day09-AOP-02
AOP-02 4.问题提出 在上一篇的MyProxyProvider类中,我们的输出语句功能比较弱,在实际开发中,我们希望是以一个方法的形式,嵌入到真正执行的目标方法前,怎么办? 1.使用土方法解决 ...
- 论文翻译:2022_2022_TEA-PSE 2.0:Sub-Band Network For Real-Time Personalized Speech Enhancement
论文地址:TEA-PSE 2.0:用于实时个性化语音增强的子带网络 论文代码: 引用: 摘要 个性化语音增强(Personalized speech enhancement,PSE)利用额外的线索,如 ...
- MRS芯片状态错误排查方向
1. 如手里的 LINK 板子标注是 WCH-LINK,而不是 WCH-LINKE,那么与开发板连接线最好别超过 15CM 2. 芯片供电是否正常, VDDA 和 VDD 要正常供电 2.检查连线是否 ...
- Jenkins CLI命令行
Jenkins CLI命令行 jenkins不光可以UI操作还提供了命令行接口 位置 首页->系统管理->工具和动作->Jenkins 命令行接口 在这个界面下载一个jenkins- ...
- 线程基础知识12-AQS
转:https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html 1 简介 AQS,全称AbstractQueuedSynchronize ...
- Redis02 在linux安装部署(单机版)
1 安装gcc编译器 进入linux,执行命令 sudo apt-get install -y gcc Centos使用yum命令替代apt-get sudo yum install -y gcc 2 ...
- Rpc-实现Zookeeper注册中心
1.前言 本文章是笔主在声哥的手写RPC框架的学习下,对注册中心的一个拓展.因为声哥某些部分没有保留拓展性,所以本文章的项目与声哥的工程有部分区别,核心内容在Curator的注册发现与注销,思想看准即 ...
- 树莓派UBUNTU MATE 自动登录用户
1.sudo vim /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf 2.添加autologin-user=youruser ...
- Linux的简介、历史
开始linux Java开发之路: javaSE.Mysql. 前端.(HTML\CSS\JS).javaWeb.SSM框架.SpringBoot.Vue.SpringCloud Linux.中间件 ...
- JZOJ 3745. 【NOI2014模拟7.14】Problem A
\(\text{Problem}\) 我们有一个树,大小为 \(n\). 考虑树上的一条路径,如果一个边的两个点都在这路径上,我们称这个边属于这个路径,如果一个边有且只有一个点在这路径上,我们称这个边 ...