appium学习笔记(环境安装配置,设备启动)
Android SDK下载及配置
下载后解压缩,打开SDK Manager.exe,下载适当版本的Android包
配置环境变量:目录下的tools路径(含uiautomatorviewer工具)以及platform-tools路径(含adb工具)添加到path变量中,以便后续命令行运行指令
可以打开AVD Manager配置模拟器,也可以使用真机
命令行下运行 adb devices 查看当前连接的Android设备,如果遇到提示adb server版本不一致问题,可能是端口被占用引起的,可以看下电脑是否安装了360手机助手之类的程序;如果遇到设备unauthorized,重新连一下真机或者[ 将手机设置->辅助功能->开发者模式->撤销usb调试授权,重新打开开发者模式 ],没问题的话可以看到类似下面这种信息
C:\Users\suneee>adb devices
List of devices attached
d2ddc2a4 device
Appium Server安装
一直点击下一步,安装完成后配置环境变量,把安装目录Appium下的node_modules\.bin路径添加到path变量中
命令行下运行appium-doctor,发现提示Node模块不能识别,此时把Appium目录也添加到path变量中(也可以安装配置node.js),再次运行appium-doctor,可以看到以下信息,说明appium server需要的环境已经配置完成
C:\Users\suneee>appium-doctor
Running Android Checks
✔ ANDROID_HOME is set to "E:\wangjz\Software\android-sdk_r24.4.1"
✔ JAVA_HOME is set to "C:\Program Files\Java\jdk1.8.0_131."
✔ ADB exists at E:\wangjz\Software\android-sdk_r24.4.1\platform-tools\adb.exe
✔ Android exists at E:\wangjz\Software\android-sdk_r24.4.1\tools\android.bat
✔ Emulator exists at E:\wangjz\Software\android-sdk_r24.4.1\tools\emulator.exe
✔ Android Checks were successful.
✔ All Checks were successful注:可以看到检测了ANDROID_HOME和JAVA_HOME变量,配置的时候把SDK和JDK的一级目录配置到对应的ANDROID_HOME和JAVA_HOME变量即可
- 运行Appium.exe,可以配置一些参数,点三角形图标启动服务
启动中如果遇到 main.js: error: argument "--app": Expected one argument. null 错误,注意Application Path未设置内容时不要勾选

Appium java-client 安装
Maven项目下pom.xml中添加如下依赖即可
<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>6.1.0</version>
</dependency>
UI元素定位信息
设备连接成功后,命令行运行uiautomatorviewer,打开UI Automator Viewer工具,点击左上角工具栏手机图标,可以获取到当前设备页面了,工具上可以看到元素的详情。
PS:对于hybrid app,网页元素的定位要通过chrome的devices来定位
Demo
在测试教程网上找了个例子,运行即可看到效果
import org.openqa.selenium.*;
import org.openqa.selenium.remote.DesiredCapabilities; import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import org.springframework.util.Assert; import java.net.MalformedURLException;
import java.net.URL; public class AppiumDemo { public static void main(String[] args) throws MalformedURLException, InterruptedException { DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "Android Emulator");
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("appPackage", "com.android.calculator2");
capabilities.setCapability("appActivity", ".Calculator"); AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); driver.findElement(By.name("1")).click();
driver.findElement(By.name("5")).click();
driver.findElement(By.name("9")).click();
driver.findElement(By.name("删除")).click();
driver.findElement(By.name("+")).click();
driver.findElement(By.name("6")).click();
driver.findElement(By.name("=")).click();
Thread.sleep(2000); String result = driver.findElement(By.className("android.widget.EditText")).getText();
Assert.isTrue(Integer.parseInt(result) == 21,"OK");
System.out.println(result); driver.quit();
} }
其中可以运行 adb shell dumpsys activity activities>log.txt(设备上需要先打开你的app)去查看 appPackage 、 appActivity的值,如下图“/”前的是appPackage,后面是appActivity

appium学习笔记(环境安装配置,设备启动)的更多相关文章
- go学习笔记-环境安装
环境安装 环境安装 主要包含三个部分 运行环境及开发sdk 系统环境和路径配置 IDE配置 以mac环境为例,其他环境类似 运行环境及开发sdk 使用 brew 安装 brew install go ...
- Python3+Appium学习笔记02-环境配置(下)
配置所需软件及我当前使用的版本: 1)java jdk 1.8.0 2)android sdk 24.4.1 3)Python3 3.7.3 4)Appium-Python-Client 5)n ...
- blfs(systemd版本)学习笔记-编译安装配置dhcpcd
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/stable-syst ...
- Node.js 学习笔记 (一) 安装配置
Node.js 安装配置 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例 Window 上安装Node.js 你可以采用以下两种方式来安装. 1.Windows 安装包(.m ...
- Python3+Appium学习笔记01-环境配置(上)
公司可能也有关于对app自动化的一些想法,让我去研究下.当然以移动互联网的热度.对于app自动化测试技术听闻已久.也一直想要去学习.正好.这次可以在工作时间中学习.emmm.希望自己能坚持把这个系列更 ...
- Hadoop学习笔记: 安装配置Hadoop
安装前的一些环境配置: 1. 给用户添加sudo权限,输入su - 进入root账号,然后输入visudo,进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面 ...
- [Freescale]E9学习笔记-LTIB安装配置
转自:http://blog.csdn.net/girlkoo/article/details/44535979 LTIB: Linux Target Image Builder Freescale提 ...
- blfs(systemv版本)学习笔记-编译安装配置dhcpcd
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basicne ...
- MySQL学习笔记-MHA安装配置
一.配置主从同步 1. 本例中主从ip及端口 Master:10.1.5.8:3306 Slave1:10.1.5.9:3306 (候选master) Slave2:10.1.5.195:3306 ...
- Hadoop学习笔记: 安装配置Hive
1. 在官网http://hive.apache.org/下载所需要版本的Hive,以下我们就以hive 2.1.0版为例. 2. 将下载好的压缩包放到指定文件夹解压,tar -zxvf apache ...
随机推荐
- vscode React编程配置
2.添加RN开发插件 React Native Tools:微软官方出的ReactNative插件,非常好用Reactjs code snippets:react的代码提示,如componentWil ...
- Spring Data:CrudRepository接口使用详情
CrudRepository中的方法 save(entity):添加一条数据 save(entities):添加多条数据entities为集合 findOne(id):根据id查询一条数据 exist ...
- 使用cookie登录网盘账号
①使用Chrome浏览器登录百度网盘网页版 https://pan.baidu.com/ ②查看当前使用的cookie ③获取BDUSS 注意是全选复制,不要直接复制,会不全的. ④获取STOKEN ...
- 2.Vue.js 是什么
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架. 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. Vue 的核心库只关注视图层,不仅易于上手,还便 ...
- [iOS] 利用 NSAttributedString 进行富文本处理
/iOS /[iOS] 利用 NSAttributedString 进行富文本处理 2016年4月4日 刘小龙 iOS 许多时候我们需要以各种灵活的形式展现文本信息,即富文本.普通的 text 属性显 ...
- LeetCode 1156. Swap For Longest Repeated Character Substring
原题链接在这里:https://leetcode.com/problems/swap-for-longest-repeated-character-substring/ 题目: Given a str ...
- python神器——Anaconda的安装与优化配置
python 对于初学者来说,原版的python在使用的时候非常麻烦,特别是在添加库.升级库的时候总是会报好多错误,缺这缺那.但是自从有了Anaconda以后,妈妈再也不用担心我用不了python啦! ...
- Spring和MyBatis整合(注解版)
1.导入所需要的依赖 <!--MyBatis和Spring的整合包 由MyBatis提供--> <dependency> <groupId>org.mybatis& ...
- MVC框架模式和Javaweb经典三层架构
一.MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(Vie ...
- centos8.0安装docker
背景简介: 前两天红帽正式发布了RHEL8,网上同时也有了CentOS8,一直在接触容器方面,为了尝鲜,下载了CentOS8,并尝试安装docker,不料竟然还报了个错(缺少依赖),故及时记录一下,方 ...