摘要

近年来,随着移动应用从数量上和逻辑复杂程度上的增长,以及产品发布周期的紧缩,使得回归测试迫在眉睫,鉴于此APP自动化测试变得越来流行,当前主流的APP自动化工具有:Appium、Robotium、Espresso、Calabash等。Appium是一个开源的自动化测试框架,用于原生、混合和移动Web应用程序,支持Android和OS自动化测试以及Selenium WebDriver支持的所有语言。所以,我们结合前期项目组的自动化测试经验,在此探讨基于RF+Appium的APP自动化测试环境搭建,并初步实现了打开应用操作。

环境准备

2.1 安装JDK

①根据自己电脑下载,推荐下载1.8版本,其它版本不稳定会出问题,例如1.9版本的jdk不兼容uiautomatorviewer,无法定位元素。官网地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

②环境变量配置:

1.添加变量名:JAVA_HOME,变量值:JDK的安装路径(例如:C:/Program Files\Java\jdk1.8.0_241)。

2.修改变量名:PATH,变量值:在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原来Path的变量值末尾有没有‘;’号,如果没有,先输入‘;’号再输入上面的代码)。

3.添加变量名:CLASSPATH,变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意前面带有小点)。

4.检查配置:

cmd命令行输入:java -version,显示版本信息,则说明安装和配置成功,如图2-1所示。

图2-1

2.2 安装Android SDK

Android SDK 依赖于Java环境,所以确保Java环境OK。其对应安装目录tools下包含各种Android自带的模拟器,还有android命令等。

①下载地址http://dl.google.com/android/android-sdk_r23.0.2-windows.zip

注意:SDK解压后的文件中不包含platform-tools和build-tools文件,故需要下载,下载地址:http://www.androiddevtools.cn/,找到对应版本,如图2-2

图2-2

下载的文件放到android-sdk目录下,如图2-3。

图2-3

②环境变量配置

1.添加变量名:ANDROID_HOME,变量值:SDK的安装路径(如“D:\app\android_sdk”)

2.修改变量名:PATH,变量值:在变量值最后输入%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

2.3 安装安卓模拟器

①安装安卓模拟器,这里用的是夜神模拟器,直接官网下载:https://www.yeshen.com/。

②导入APP的APK包,第一种直接将APK包拖入夜神模拟器中,第二种点击“安装APK”按钮,通过选择文件夹的方式导入。

2.4 安装APPIUM

①安装:https://bitbucket.org/appium/appium.app/downloads/,这里选用合适的版本即可。

②环境变量配置

1.添加变量名:APPIUM_HOME,变量值:APPIUM的安装路径(如:D:\app\APPIUM)

2.修改变量名:PATH,变量值:在变量值最后输入%APPIUM_HOME%\node_modules\.bin

3.检查配置

cmd命令行输入:appium,显示appium的版本信息,如图2-4所示。

图2-4

2.5 安装APPIUM-Python-Clientrobotframework-appiumlibrary

Python环境已配置,前期安装已完成。

cmd命令行中输入:pip install APPIUM-Python-Client和pip install robotframework-appiumlibrary

cmd命令行输入:appium-doctor检查依赖和环境变量,全部为“√”,说明appium环境准备好了,如图2-5所示。

图2-5

2.6 连接夜神模拟器

1.打开夜神模拟器,并运行Appium;

2. cmd命令行输入:adb connect 127:0.0.1:62001(62001是夜神模拟器端口号)

3. cmd命令行输入:adb devices

检查是否连接到安卓设备或模拟器,显示如图2-6,即表明连接成功。

图2-6

调试脚本

3.1 Open Application打开应用

上述,我们已经实现了基于RF+Appium的APP自动化环境搭建,本章旨在其基础上,实现简单的自动化测试——打开APP。

打开RF工具,新建项目,导入AppiumLibrary库,用Open Application关键字实现打开APP应用操作,如图2-7。

图2-7

运行用例成功后,可以看到夜神模拟器中APP应用被打开,如图2-8所示。

图2-8

3.2 Open Application关键字详解

AppiumLibrary中有很多关键字,有兴趣的可自己去学习。这里主要详细介绍Open Application关键字,其他关键字这里不再赘述,其后的必要参数设置如表1所示(红色字体代表本项目使用的参数)。

表1

关键字

描述

实例

remote_ur

Appium Server URL

本地一般为http://hocalhost:4723/wd/hub

platformName

要测试的手机操作系统

IOS,Android或者FirefoxOS

platformVersion

手机操作系统版本

例如:7.1,4.4,23(夜神模拟器中的手机操作系统版本)

deviceName

使用的手机类型或者模拟器类型

在IOS系统中此参数必填,但Android系统中无意义。

安卓通过adb devices命令获取(127.0.0.1:62001),ios通过instruments -s deviecs命令获取。

appPackage

安卓包名称

获取方式见3.3章

appActivity

应用启动页

app

测试APP的路径(可省)

APK文件的路径

3.3 appPackageappActivity参数获取

1.使用命令命令获取

通过反编译来获取包名和入口:aapt dump badging <apk文件的存放路径>,如图3-1和3-2所示。

图3-1

图3-2

2.解压APK文件获取

①直接将手机App的安装包“Code-debug.apk”解压缩,得到生成的文件“AndroidManifest.xml”;

②通过notepad++ 打开AndroidManifest.xml 文件;

③在里面搜索:manifest对应的就是appPackage——“energy.zte.helloworld”activity对应的就是appActivity (activity关键字很多,注意辨别)——“energy.zte.ui.WelcomeActivity”,如图3-3和3-4所示。

图3-3

图3-4

3.Appium导入APK包获取

将APK包导入到Appium中,可直接获得appPackage和appActivity参数,如图3-5所示。

图3-5

3.4 安装和运行中遇到问题的解决方案

1.运行打开APP应用,出现Failed to start an Appium session, err was: Error: Could not find zipalign in tools, platform-tools, or supported build-tools under "D:\app\android_sdk"; do you have android SDK or build-tools installed into this location?

解决方法:将D:\app\android_sdk\build-tools\android-4.4W目录下的zipalign.exe拷贝到D:\app\android_sdk\tools目录下。

2.在cmd窗口执行adb命令时,提示:不是内部或外部命令方法

解决方法:这种问题一般都是环境变量的问题,查看变量PATH中,adb.exe所在目录的路径添加是否正确。

手机APP自动化环境搭建的更多相关文章

  1. 手机APP测试环境搭建---appium

    这些都不是重点---一切都可以参考虫师   Appium移动自动化测试(一)--安装Appium 1.ADB的安装:ADB(ANDROID DEBUG BRIDGE) 应用场景: 针对移动端 Andr ...

  2. App自动化环境搭建

    1.安装Appium-desktop工具 下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.8.2 2.安装Android环境 ...

  3. App 自动化环境搭建

    1.安装 Appium-desktop 工具 下载地址:https://github.com/appium/appium-desktop/releases 2.安装 Android 环境 安装 JDK ...

  4. APP自动化环境搭建之appium工具介绍(二)

    1.下载解压android-sdk-windows-appium //配置环境: ANDROID_HOME:D:\android-sdk-windows-appium path:...;%ANDROI ...

  5. APP自动化环境配置

    做自动化很多人都不喜欢做app自动化,说实话,我也不喜欢做app自动化,但是没办法,老板给你钱,让你做,不得不做! 其实app自动化的难点就在于环境,环境OK了之后一切都和web自动化差不多,顶多就是 ...

  6. 【app】自动化环境搭建(Appium)for java

    Appium来做app自动化相信大家都很熟悉了吧,就不再赘述他的概念和作用了,我们接下来着重介绍怎么来搭建整个app自动化环境,整个环境包括如下几个步骤: 1.安装jdk和eclipse及配置jdk的 ...

  7. 基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量 ...

  8. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  9. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

随机推荐

  1. 前端以BASE64码的形式上传图片

    前端以BASE64码的形式上传图片 一直有一个很苦恼的问题困扰着铁柱兄,每次上传图片的时候前端要写一大堆js,然后后台也要写一堆java代码做处理.于是就在想,有没有简单又方便的方法把图片上传.今天算 ...

  2. 免费 https 申请步骤,你必须知道

    不适用 https 加密的网站,基本上就等于在裸奔. 来,开始开始动手做 我的系统是 CentOS6 第一步:安装Certbot Certbot可以用于管理(申请.更新.配置.撤销和删除等)Let's ...

  3. webug3.0靶场渗透基础Day_2(完)

    第八关: 管理员每天晚上十点上线 这题我没看懂什么意思,网上搜索到就是用bp生成一个poc让管理员点击,最简单的CSRF,这里就不多讲了,网上的教程很多. 第九关: 能不能从我到百度那边去? 构造下面 ...

  4. Qt5 escape spaces in path

    There are two possible ways. You can either use escaped quotes (inserting the string between quotes) ...

  5. 本周ASP.NET英文技术文章推荐[02/03 - 02/16]:MVC、Visual Studio 2008、安全性、性能、LINQ to JavaScript、jQuery...

    摘要 继续坚持,继续推荐.本期共有9篇文章: 最新的ASP.NET MVC框架开发计划 Visual Studio 2008 Web开发相关的Hotfix发布 ASP.NET安全性教程系列 ASP.N ...

  6. 源码学习VUE之Observe

    在文章 源码学习VUE之响应式原理我们大概描述了响应式的实现流程,主要写了observe,dep和wather的简易实现,以及推导思路.但相应代码逻辑并不完善,今天我们再来填之前的一些坑. Obser ...

  7. 第七周CorelDRAW课总结

    1.这节课学到了什么知识? "交互式透明工具""交互式阴影工具"以及"交互式调和工具"制作水晶表情包. 2.有什么心得体会? 无 3.存在的 ...

  8. Ceph 12.2.0 实践osd 智能分组功能

    以前我们需要对ssd和hdd进行分组的时候,需要大量的修改crush map,然后绑定不同的存储池到不同的 crush 树上面,现在这个逻辑简化了很多.以上是官方宣传听起来很不错等到12.2.0稳定版 ...

  9. 第十届山东省赛L题Median(floyd传递闭包)+ poj1975 (昨晚的课程总结错了,什么就出度出度,那应该是叫讨论一个元素与其余的关系)

    Median Time Limit: 1 Second Memory Limit: 65536 KB Recall the definition of the median of elements w ...

  10. POJ 3267为什么优先队列超时,DP就能过,难过

    The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 11846 Accepted: 5693 Desc ...