移动端自动化测试环境安装步骤(appium)_greta_guo的博客-程序员秘密

技术标签: 移动  自动化测试  appium  移动端自动化  

安装appium 之前 先需要进行安装node

node.js官方网站:https://nodejs.org/

下载完成后,需要在path中添加nodejs


安装完成,打开Windows 命令提示符,敲入“npm”命令回车

出现以下页面则安装成功

 

其次进行安装.NET Framework

百度搜索进行下载

这是因为Appium是由.NET 开发的,所以,它会依赖 .NET framework相关组件。

百度搜索进行下载,进行下载安装

 安装Android开发环境

 

移动端自动化测试,我们同样需要一部Android手机(手机需要链接电脑)或者Android模拟器。

在安装android环境之前需要安装JAVA环境

https://www.java.com/zh_CN/download/manual.jsp

安装Java JDK

双击下载的JDK ,设置安装路径。这里我们选择默认安装在

D:\Program Files (x86)\Java\jdk1.8.0_25目录下。 

下面设置环境变量:

我的电脑右键菜单--->属性--->高级--->环境变量--->系统变量-->新建..

变量名:JAVA_HOME 

变量值:D:\Program Files (x86)\Java\jdk1.8.0_25 

变量名:CALSS_PATH

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 

 

找到path变量名—>“编辑添加:

变量名:PATH

变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

 

CMD下验证Java是否安装成功


安装android adt & SDK

Android SDK

 

 

通过官方地址下载:http://developer.android.com/sdk/index.html

当然,我不能保证你可以访问到这个地址,原因你懂的!

这里提供adt-bundle 下载链接:

http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip

https://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip

http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140702.zip

http://dl.google.com/android/adt/adt-bundle-linux-x86-20140702.zip

http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20140702.zip

 

Android-sdk下载地址:(推荐)

http://dl.google.com/android/android-sdk_r23.0.2-windows.zip

http://dl.google.com/android/installer_r23.0.2-windows.exe

http://dl.google.com/android/android-sdk_r23.0.2-macosx.zip

http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz

 

 下面设置Android环境变量,方法与java环境变量类似。我本机的目录结果为:

D:\android\android-sdk-windows

下面设置环境变量:

我的电脑右键菜单--->属性--->高级--->环境变量--->系统变量-->新建..

变量名:ANDROID_HOME 

变量值:D:\android\android-sdk-windows

找到path变量名—>“编辑添加:

变量名:PATH

变量值:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;


双击启动SDK Manager.exe 

这里推荐一个网站http://www.androiddevtools.cn/它提供了国内的代理,以及各种开发工具的安装。

Android SDK Manager 的菜单栏上点击“Tools---->Options...”,如下图:

 

AndroidSDK在线更新镜像服务器

1.     中国科学院开源协会镜像站地址:

o   IPV4/IPV6: mirrors.opencas.cn 端口:80

o   IPV4/IPV6: mirrors.opencas.org 端口:80

o   IPV4/IPV6: mirrors.opencas.ac.cn 端口:80

2.     上海GDG镜像服务器地址:

sdk.gdgshanghai.com 端口:8000

3.     北京化工大学镜像服务器地址:

o   IPv4: ubuntu.buct.edu.cn/ 端口:80

o   IPv4: ubuntu.buct.cn/ 端口:80

o   IPv6: ubuntu.buct6.edu.cn/ 端口:80

4.     大连东软信息学院镜像服务器地址:

mirrors.neusoft.edu.cn 端口:80

5.     腾讯Bugly镜像:

https://dsx.bugly.qq.com/repository/1

腾讯镜像使用方法:https://dsx.bugly.qq.com/repository/1

需要进行安装的SDK Tools,Platform-Tools, Build-tools  , Android版本

 

Google 。。。这是在创建模拟器时需要的system image,也就是在创建模拟器时 CPU/ABI项需要选择的

 

创建android模拟器。

 

双击“AVD Manager.exe

 

 

选择设置一些值


点击OK”,在AVD  Manager 窗口,点击“Start...”按钮启动android 模拟器。

新虚拟机没了实体键,所以我们可以利用键盘按键来操作android虚拟机。

 

模拟器按键

键盘按键

后退

ESC

菜单

F1Page Up

开始 

F2Page Down

 呼叫

F3

 挂断 

F4

电源按钮

F7

禁止/启用所有网络

F8

开始跟踪

F9

停止跟踪

F10

旋转屏幕(横/竖屏切换)

Ctrl+F11

主页

HOME

方向键 ///

小键盘 4/8/6/2

方向键 中心键

小键盘 5

调低音量

小键盘 负号(-)

调高音量

小键盘 加号(+)

 

 

安装AppiumClients

appium client是对webdriver原生api的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。

appium client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可。

从本节开始,教程的内容将涵盖3个语言,ruby/python/java

安装appium client

ruby篇(一定要在线安装)

rubyappium client叫做appium lib,为什么是这样就不解释了,总之是历史原因。

首先update rubygembundler(说老实话,真的不需要,但官方文档上这么写)

gem update –system;
gem update bundler

然后使用gem安装

gem uninstall -aIxappium_lib ;(这个也不是必须的)
gem install –no-rdoc –no-ri appium_lib

python篇(尽量在线安装)

推荐使用pip安装

pip install Appium-Python-Client

当然了也可以在Pipy下载源码安装

tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install

最后,也可以通过github安装(要git客户端)

git [email protected]:appium/python-client.git
cd python-client
python setup.py install

java篇(在线安装)

java的话用maven安装就可以了
io.appium
java-client
1.3.0

当然了,也可以自己下载jar,请自行选择最新版本。

 

 

启动一个自动化脚本

打开appium

 

然后点击右上角的三角按钮启动Appium

 

打开android AVD


编写JAVA 脚本


import java.net.MalformedURLException;

import java.net.URL;

import io.appium.java_client.AppiumDriver;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.remote.CapabilityType;

import org.openqa.selenium.remote.DesiredCapabilities;

public classAndroid {

     public static void main(String args[])throws MalformedURLException{

           DesiredCapabilitiescapabilies = newDesiredCapabilities();

           capabilies.setCapability(CapabilityType.BROWSER_NAME,"");

           capabilies.setCapability("deviceName","Android Emulator");

           capabilies.setCapability("platformVersion","4.4");

           capabilies.setCapability("platformName","Android");

           capabilies.setCapability("appPackage","com.android.calculator2");

           capabilies.setCapability("appActivity",".Calculator");

           capabilies.setCapability("appWaitActivity",".Calculator");

           AppiumDriverdriver = newAppiumDriver(newURL("http://127.0.0.1:4723/wd/hub"), capabilies);

     driver.findElement(By.id("com.android.calculator2:id/digit9")).click();

     driver.findElement(By.name("+")).click();

     driver.findElement(By.name("5")).click();

     driver.findElement(By.name("=")).click();

     }

     }




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/greta_guo/article/details/62226811

智能推荐

matlab 粘连分割代码,【求助】图像中粘连字符切分代码,求注释!!!_岁月静好夏雨嫣然的博客-程序员秘密

该楼层疑似违规已被系统折叠隐藏此楼查看此楼%=== 依然是切分 ===%Mark=Mark+abs(I(j+1,i)-I(j,i)); % 检测是否通过笔划j=j+1;endSegY=[SegY j-1]; % 第一次切分截止处if (j==38)PXR1=[PXR1 i];PXR2=[PXR2 i];else...

Linux文件目录解析_高振05的博客-程序员秘密

Linux文件目录解析:文件系统的类型    LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。    普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。    目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,

【图】图的深度优先和宽度优先遍历_LuckyCCat的博客-程序员秘密

宽度优先遍历图的bfs要准备一个Set,因为图可能是可循环的。遍历方法如下队列弹出就打印它的直接邻居,没有进入过Set的就进队列和Set// 从node出发,进行宽度优先遍历public static void bfs(Node start) { if (start == null) { return; } Queue<Node> queue = new LinkedList<>(); HashSet<Node> set = new HashSe

2022年社媒营销:9个超实用的TikTok运营工具_wmdage的博客-程序员秘密

毋庸置疑,TikTok是当前最受欢迎的社媒平台之一。超10亿的月活,吸引着越来越多的人和企业。根据Nox聚星《2021年全年的出海品牌营销趋势报告》,有85%的品牌在运营TikTok,都希望在TikTok流量起飞时赶上风口,抢得先机。正所谓,工欲善其事,必先利其器。想要运营上做到事半功半,必要的工具少不了。下面给大家推荐9款超实用的TikTok运营工具。...

Activiti(一)_poetr的博客-程序员秘密

Activiti(一)目录需求原理使用`Activiti`Activiti服务架构图流程引擎配置文件ProcessEngineConfigurationProcessEngineService(各种服务)的创建详述各种`Service`RepositoryServiceRuntimeServiceTaskServiceHistoryServiceManagementService简单实例**(1)流程定义****(2)部署流程定义****(3)启动一个流程实例****(4)任务查询****(5)任务处理**

Uncaught TypeError: $(...).daterangepicker is not a function_weixin_34332905的博客-程序员秘密

本文为博主原创,未经允许不得转载:      在用bootstrap做一个日期插件的时候,代码和js,css等都是拷贝网上下载下来的实例,但是在调试的时候,浏览器控制台一直报错 Uncaught TypeError: $(...).datetimepicker is not a function。由于直接引用别人的代码,且别人的代码是可行的,为什么在我这边不行,上网搜了很多,且大多是一些外...

随便推点

acqua特性,音频测试项目分类表_acqua 响度评定值_zgyrelax_zgykill的博客-程序员秘密

音频测试项目分类表发送灵敏度/频率响应发送响度评定值(SLR)接收灵敏度/频率响应接收响度评定值(RLR)侧音掩蔽评定值(STMR)接收响度评定值(MAX)发送失真侧音线性评定值回声损耗接收失真侧音失真带外信号空闲信道噪音环境噪声抑制++移动电话声学测试的标准  3GPP TS 51.010-1 version 9.4.0

大学计算机基础python答案_[南开大学(本部)]20秋学期《大学计算机基础》在线作业-1..._weixin_39585617的博客-程序员秘密

-[南开大学(本部)]20秋学期(1709、1803、1809、1903、1909、2003、2009 )《大学计算机基础》在线作业试卷总分:100 得分:100第1题,计算机内存的每个基本单位,被赋予一个唯一的序号,称为( )。A、容量B、字节C、地址D、功能正确答案:第2题,计算机硬件能直接执行的只有( )。A、符号语言B、机器语言C、汇编语言D、机器语言和汇编语言正确答案:第3...

集群上使用wgrib2 转换 grib2 到 nc_wgrib2 转nc 指定经纬度范围_qq_40112169的博客-程序员秘密

197集群上安装wgrib2添加路径到.bashrcwgrib2 grbfile -netcdf xx.ncwgrib2的说明安装说明wgrib2下载安装tar -xvf wgrib2.tgz.v2.0.8按照网站和makefile的说明how to compile,修改grib文件夹下的 makefile 文件,uncomment :export CC=g...

win平台静默安装小结_exe静默安装参数查询_封闭火车的博客-程序员秘密

静默安装的批处理命令小结背景:邮件备份软件目前的安装方式是用户手动下载,自己安装。现为了方便用户安全备份邮件,需要设计批处理命令使得域管理员可以通过执行命令来为用户静默安装程序。说明1:邮件备份软件.exe安装时会产生一个.msi安装文件,这个.msi文件就是实际的安装程序。代码已存于附件zip中。说明2:参数说明1.本地exe静默安装.方式一:通过参数指定exe软件产生msi安装包的路径-静默安装方式二:不指定msi路径-静默安装2.本地exe静默卸...

微信小程序--使用swiper实现滚动广告_Afanbaby的博客-程序员秘密

上一篇就介绍了swiper这个视图的使用,不太清楚怎么使用,麻烦查看上一篇文章,滚动的广告效果图如下,1.index.js中://index.js//获取应用实例const app = getApp()Page({ data: { nameList:[ '人生若只如初见', '何事秋风悲画扇', '等闲变却故人心','却道故人心易变!' ] }, onLoa