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学习笔记(环境安装配置,设备启动)的更多相关文章

  1. go学习笔记-环境安装

    环境安装 环境安装 主要包含三个部分 运行环境及开发sdk 系统环境和路径配置 IDE配置 以mac环境为例,其他环境类似 运行环境及开发sdk 使用 brew 安装 brew install go ...

  2. 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 ...

  3. blfs(systemd版本)学习笔记-编译安装配置dhcpcd

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/stable-syst ...

  4. Node.js 学习笔记 (一) 安装配置

    Node.js 安装配置 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例 Window 上安装Node.js 你可以采用以下两种方式来安装. 1.Windows 安装包(.m ...

  5. Python3+Appium学习笔记01-环境配置(上)

    公司可能也有关于对app自动化的一些想法,让我去研究下.当然以移动互联网的热度.对于app自动化测试技术听闻已久.也一直想要去学习.正好.这次可以在工作时间中学习.emmm.希望自己能坚持把这个系列更 ...

  6. Hadoop学习笔记: 安装配置Hadoop

    安装前的一些环境配置: 1. 给用户添加sudo权限,输入su - 进入root账号,然后输入visudo,进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面 ...

  7. [Freescale]E9学习笔记-LTIB安装配置

    转自:http://blog.csdn.net/girlkoo/article/details/44535979 LTIB: Linux Target Image Builder Freescale提 ...

  8. blfs(systemv版本)学习笔记-编译安装配置dhcpcd

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basicne ...

  9. MySQL学习笔记-MHA安装配置

    一.配置主从同步   1. 本例中主从ip及端口 Master:10.1.5.8:3306 Slave1:10.1.5.9:3306 (候选master) Slave2:10.1.5.195:3306 ...

  10. Hadoop学习笔记: 安装配置Hive

    1. 在官网http://hive.apache.org/下载所需要版本的Hive,以下我们就以hive 2.1.0版为例. 2. 将下载好的压缩包放到指定文件夹解压,tar -zxvf apache ...

随机推荐

  1. 第1章 Spring的应用

    一.Spring 的两种核心容器:BeanFactory 和 ApplicationContext(都通过xml加载Bean的) 二.通过ApplicationContext实例化: 1.通过Clas ...

  2. 运行银联支付系统demo

    1.Demo下载 下载地址:https://open.unionpay.com/tjweb/acproduct/list?apiservId=448 2.导入项目 注意:非maven项目,在导入ide ...

  3. SPU、SKU、ARPU

    在涂涂商城开发之前,发现一篇关于电商中 SPU.SKU.ARPU 的介绍,转至博客,原文地址:http://www.ikent.me/blog/3017 什么是SPU.SKU.ARPU 首先,搞清楚商 ...

  4. 17-Flutter移动电商实战-首页_楼层区域的编写

    1.楼层标题组件 该组件非常简单,只接收一个图片地址,然后显示即可: class FloorTitle extends StatelessWidget {  final String picture_ ...

  5. solidworks 学习 (二)

    洗手液瓶建模

  6. hlt 与 llt 相关

    HLT:HIGH LEVEL TEST,通常指SDV/SIT/SVT等测试活动SDV : system design verification 系统设计验证 SIT : system integrat ...

  7. 【Beta】Scrum meeting 10

    目录 写在前面 进度情况 任务进度表 Beta-1阶段燃尽图 遇到的困难 照片 commit记录截图 后端代码 前端代码 技术博客 写在前面 例会时间:5.14 22:30-22:45 例会地点:微信 ...

  8. [技术博客] 用户验证码验证机制---redis缓存数据库的使用

    目录 问题引入 初识redis 实际应用 作者:马振亚 问题引入 在这次的开发过程中,我们的需求中有一个是普通用户可以通过特定的机制申请成为社长.因为只有部分人才能验证成功,所以这个最开始想了两种思路 ...

  9. ZooKeeper相关资料集锦

    1.ZooKeeper相关概念总结 https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/framework/Z ...

  10. 使用Alibaba的Nacos做为SpringCloud的注册和配置中心,并结合Sentinel+Nocos动态进行限流熔断

    最近在学习阿里的Nacos组件以及Sentinel组件,折腾出了一个小demo. Git地址:https://github.com/yangzhilong/nacos-client 有兴趣的小伙伴可以 ...