安装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...”,如下图:
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 |
菜单 |
F1或Page Up |
开始 |
F2或Page Down |
呼叫 |
F3 |
挂断 |
F4 |
电源按钮 |
F7 |
禁止/启用所有网络 |
F8 |
开始跟踪 |
F9 |
停止跟踪 |
F10 |
旋转屏幕(横/竖屏切换) |
Ctrl+F11 |
主页 |
HOME |
方向键 左/上/右/下 |
小键盘 4/8/6/2 |
方向键 中心键 |
小键盘 5 |
调低音量 |
小键盘 负号(-) |
调高音量 |
小键盘 加号(+) |
appium client是对webdriver原生api的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。
appium client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可。
从本节开始,教程的内容将涵盖3个语言,ruby/python/java。
ruby的appium client叫做appium lib,为什么是这样就不解释了,总之是历史原因。
首先update rubygem和bundler(说老实话,真的不需要,但官方文档上这么写)
gem update –system;
gem update bundler
然后使用gem安装
gem uninstall -aIxappium_lib ;(这个也不是必须的)
gem install –no-rdoc –no-ri appium_lib
推荐使用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的话用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();
}
}
该楼层疑似违规已被系统折叠隐藏此楼查看此楼%=== 依然是切分 ===%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文件目录解析:文件系统的类型 LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。 普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。 目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,
宽度优先遍历图的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
毋庸置疑,TikTok是当前最受欢迎的社媒平台之一。超10亿的月活,吸引着越来越多的人和企业。根据Nox聚星《2021年全年的出海品牌营销趋势报告》,有85%的品牌在运营TikTok,都希望在TikTok流量起飞时赶上风口,抢得先机。正所谓,工欲善其事,必先利其器。想要运营上做到事半功半,必要的工具少不了。下面给大家推荐9款超实用的TikTok运营工具。...
Activiti(一)目录需求原理使用`Activiti`Activiti服务架构图流程引擎配置文件ProcessEngineConfigurationProcessEngineService(各种服务)的创建详述各种`Service`RepositoryServiceRuntimeServiceTaskServiceHistoryServiceManagementService简单实例**(1)流程定义****(2)部署流程定义****(3)启动一个流程实例****(4)任务查询****(5)任务处理**
本文为博主原创,未经允许不得转载: 在用bootstrap做一个日期插件的时候,代码和js,css等都是拷贝网上下载下来的实例,但是在调试的时候,浏览器控制台一直报错 Uncaught TypeError: $(...).datetimepicker is not a function。由于直接引用别人的代码,且别人的代码是可行的,为什么在我这边不行,上网搜了很多,且大多是一些外...
Vertex Shader
音频测试项目分类表发送灵敏度/频率响应发送响度评定值(SLR)接收灵敏度/频率响应接收响度评定值(RLR)侧音掩蔽评定值(STMR)接收响度评定值(MAX)发送失真侧音线性评定值回声损耗接收失真侧音失真带外信号空闲信道噪音环境噪声抑制++移动电话声学测试的标准 3GPP TS 51.010-1 version 9.4.0
-[南开大学(本部)]20秋学期(1709、1803、1809、1903、1909、2003、2009 )《大学计算机基础》在线作业试卷总分:100 得分:100第1题,计算机内存的每个基本单位,被赋予一个唯一的序号,称为( )。A、容量B、字节C、地址D、功能正确答案:第2题,计算机硬件能直接执行的只有( )。A、符号语言B、机器语言C、汇编语言D、机器语言和汇编语言正确答案:第3...
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...
静默安装的批处理命令小结背景:邮件备份软件目前的安装方式是用户手动下载,自己安装。现为了方便用户安全备份邮件,需要设计批处理命令使得域管理员可以通过执行命令来为用户静默安装程序。说明1:邮件备份软件.exe安装时会产生一个.msi安装文件,这个.msi文件就是实际的安装程序。代码已存于附件zip中。说明2:参数说明1.本地exe静默安装.方式一:通过参数指定exe软件产生msi安装包的路径-静默安装方式二:不指定msi路径-静默安装2.本地exe静默卸...
上一篇就介绍了swiper这个视图的使用,不太清楚怎么使用,麻烦查看上一篇文章,滚动的广告效果图如下,1.index.js中://index.js//获取应用实例const app = getApp()Page({ data: { nameList:[ '人生若只如初见', '何事秋风悲画扇', '等闲变却故人心','却道故人心易变!' ] }, onLoa