前置条件:

安装JDK

jdk 9使用appium还有点问题,最好使用jdk 8。我使用的是jdk 8u161。

下载前需要先同意协议

下载后双击安装,安装完成后需要手工设置环境变量:

右键单击“这台电脑”并选择属性

点击“高级系统设置”

“高级”选项卡中设置环境变量

增加JAVA_HOME变量为C:\Program Files\Java\jdk1.8.0_161

编辑PATH变量,增加以下几个地址

%JAVA_HOME%\lib

%JAVA_HOME%\bin

在系统变量中增加或编辑变量

注意:修改环境变量后,需要重启电脑以使配置生效。

安装Android SDK

怕麻烦的直接下载Android Studio,然后用图形界面安装SDK吧。我又不做Android开发,下个Android Studio真是浪费,所以只用一个100MB的命令行工具下载SDK。

页面最下方

在任意位置创建文件夹android-sdk,比如C:\_portable_

然后将压缩包中的tools文件夹解压到android-sdk下

同样为了能够全局执行tools中的工具,需要设置环境变量:

增加%ANDROID_HOME%,值为C:\_portable_\android-sdk,然后在PATH中增加

%ANDROID_HOME%\tools

%ANDROID_HOME%\tools\bin

打开Git Bash,用sdkmanager安装SDK。

区别于Windows中的命令提示符中直接执行sdkmanager,在Git Bash中执行.bat文件需要明确写出后缀:

touch ~/.android/repositories.cfg

sdkmanager.bat "platform-tools" "platforms;android-27" --verbose

sdkmanager.bat --update --verbose

提示done之后,SDK就会被安装在android-sdk文件夹下了。其中platform-tools文件夹中就含有我们需要的adb.exe等工具

增加PATH的值:

%ANDROID_HOME%\platform-tools

安装Appium

$ npm i -g appium appium-doctor

# 然后使用appium-doctor看看还有哪些条件没有满足

$ appium-doctor

info AppiumDoctor Appium Doctor v.1.4.3

info AppiumDoctor ### Diagnostic starting ###

info AppiumDoctor ✔ The Node.js binary was found at: C:\Program Files\nodejs\node.exe

info AppiumDoctor ✔ Node version is 8.9.4

info AppiumDoctor ✔ ANDROID_HOME is set to: C:\_portable_\android-sdk

info AppiumDoctor ✔ JAVA_HOME is set to: C:\Program Files\Java\jdk1.8.0_161

info AppiumDoctor ✔ adb exists at: C:\_portable_\android-sdk\platform-tools\adb.exe

info AppiumDoctor ✔ android exists at: C:\_portable_\android-sdk\tools\android.bat

info AppiumDoctor ✔ emulator exists at: C:\_portable_\android-sdk\tools\emulator.exe

info AppiumDoctor ✔ Bin directory of %JAVA_HOME% is set

info AppiumDoctor ### Diagnostic completed, no fix needed. ###

info AppiumDoctor

info AppiumDoctor Everything looks good, bye!

info AppiumDoctor

如果还有没有满足的条件,一一修复即可,现在剩下的一般是环境变量的地址没有填对。

连接手机,开始自动化测试

接下来就可以连接手机,开启USB调试,进行自动化测试了。

# 启动appium

$ appium

[Appium] Welcome to Appium v1.7.2

[Appium] Appium REST http interface listener started on 0.0.0.0:4723

保持以上appium在后台运行,新开一个Git Bash:

$ mkdir test_appium

$ cd test_appium

$ touch test.js

$ npm i webdriverio

然后在test.js文件中输入以下内容:

// javascript

const wdio = require('webdriverio');

const opts = {

port: 4723,

desiredCapabilities: {

platformName: "Android",

platformVersion: "7.0",

deviceName: "Android Emulator",

app: "C:\\Users\\gbcdef\\Documents\\dev\\test_app\\ApiDemos-debug.apk",

}

};

const client = wdio.remote(opts);

client

.init()

.click("~App")

.click("~Alert Dialogs")

.back()

.back()

.end();

使用node执行以上自动化测试脚本:

node test.js

手机上就会自动安装测试apk,自动执行脚本了。

android 手机自动化测试,Appium进行Android手机真机自动化测试相关推荐

  1. 使用Appium进行iOS的真机自动化测试

    使用Appium进行iOS的真机自动化测试 ##安装类库 Homebrew 如果没有安装过Homebrew,先安装 [ homebrew ] npm 如果没有安装npm,请移步 [ node.js和n ...

  2. Centos 7 怎么都连不上手机阿阿阿阿Android Studio 怎么都检测不到真机啊还有关于git本地提交就缺少文件啊啊啊啊

    简直了!!! Android Studio 3.0 异常退出之后,就怎么都检测不到真机了,好长好长时间解决不了,蓦然发现centos 7 也连不上手机了!其可修 原来是数据线里面的数据线怀掉了 只能显 ...

  3. Android手机应用第三方模拟器使用、真机测试运行方法以及AVD 模拟器黑屏的解决尝试

    Android SDK手机应用开发中第三方模拟器.真机运行方法以及AVD模拟器黑屏的解决尝试 对于手机应用开发的测试运行,有基于模拟器和真机运行2种途径. 模拟器的方法 android SDK提供了A ...

  4. iOS+Appium最简单的环境搭建,快速实现真机自动化测试

    前言 整理不易耗时两星期配置成功,查看一两年前的教程文章走了太多弯路到处都是坑和报错 需配置环境:Homebrew.node.cnpm.Carthage.ios-deploy.libimobilede ...

  5. Android Screen Monitor抓取模拟器与真机界面

    ASM(Android Screen Monitor)下载地址: https://code.google.com/archive/p/android-screen-monitor/ 获取ASM.jar ...

  6. 【错误记录】eclipse,android,logcat日志无法打印,真机调试

    eclipse调试android程序,当使用真机时system.out,log.i等日志在logcat里面打印不出来(但能打印出来其他一堆系统消息),而使用模拟机一切正常,怎样才能在真机调试时也能在l ...

  7. android 远程调试工具,【教程】搭配Android studio,如何实现app远程真机debug...

    用了很久的模拟器,今天给大家分享一个不用模拟器,在没有手机的情况下,如何实现真机debug的教程,第一次发文章,非喜勿喷,望支持下! 废话少说,先睹为快.在不用数据线连接手机的情况下,先来个打断点截图 ...

  8. Android进阶之路 - 使用Stetho查看真机数据库

    起因:维护老项目,需查看本地数据库数据,起初使用了DDMS调试,但使用时发现真机需Root.而我又不想使用模拟器,在此基础下我发现了Stetho三方框架能实现我的需求,故在使用真实有效的基础下总结此篇 ...

  9. CocosCreator 原生开发环境配置(JavaSDK,Android Studio,Python,豌豆荚,真机实测)

    版本:2.4.2 参考: cocos教程:安装配置原生开发环境 cocos教程:打包发布原生平台 一  安装Java SDK 二 安装Android Studio 三 安装Python 四 设置coc ...

最新文章

  1. IAR生产HEX文件
  2. null 与 undefined 的区别
  3. 在winform中使用三层架构学习总结
  4. java string 返回匹配正则的字符串的起始位置_Python小课堂正则表达式
  5. python atm作业详解_python day4 作业 ATM
  6. bzoj 1684: [Usaco2005 Oct]Close Encounter【数学(?)】
  7. div/span强制不换行
  8. sqlalchemy连接mysql数据库_史上超详细的flask_sqlalchemy连接mysql数据库
  9. 针对金融级交易场景的严苛技术要求,如何修炼这门“必修课”?
  10. JQuery使用deferreds串行多个ajax请求
  11. sim卡iccid编辑软件_一篇文章扫盲手机SIM卡相关知识
  12. [PKU 3580 3468][Noi 2005 Sequance]伸展树Splay 平衡树SBT(下)
  13. disk dynamic invalid 解决办法 动态磁盘转换器
  14. X8AIP 驱动程序
  15. python怎么复数乘方开方_一篇小文入门 Python
  16. 下载jupyterlab中的文件夹
  17. 利用差分求非齐次多项式的通项公式
  18. 打开软件时出现“请将磁盘插入可移动磁盘“G:””
  19. 【程序源代码】微信小程序商城管理系统(Java后台+微信小程序)最新版
  20. 互联网时代:天才与伟人的区别

热门文章

  1. TCP/IP网络断和127.0.0.1回网IP概念
  2. C# 的TCPClient异步连接与异步读数据
  3. C语言之连接Mysql数据篇
  4. matlab与树莓派通信
  5. 广联达2018模板算量步骤_广联达GTJ2021操作教程:造价小白3天速成,计量效率翻倍...
  6. java 的 非短路_Java 短路运算符和非短路运算符
  7. 使用git提交项目到码云
  8. 缓存目录的区别getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()的作用
  9. Android studio3.0打开Device File Explore(文件管理器)的方法(图文教程)
  10. PHP中单引号和双引号到底有啥区别