基于centos7下appium环境搭建
事件背景:
前几日在群里看到关总说他的server端是搭建在linux环境下,包括对客户端与服务端的交互处理,感觉整体思路清晰可鉴,于是就想尝试,动手实践,接着从环境搭建开始搞起,于是就有了这篇文章,不得不吐槽下,这是段很深刻的回忆呀,历时1.5工作日,终于搞定环境搭建!!
依赖关联:
ps:以我现在的为例,个别根据自己情况调整
- JDK 1.8
- Android SDK 1.0.40
- nodejs 8.7
- appium 1.9.1
一、安装jdk:
参考我之前写过的《ubuntu12.04 安装配置jdk1.7》
二、安装Android SDK:
1、下载sdk
cd /opt
mkdir androidSdk
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-.zip
2、配置环境变量
sudo vim /etc/profile

保存退出,输入以下命令使之立即生效
source /etc/profile
3、查看已安装信息
sdkmanager --list Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
tools | 26.0. | Android SDK Tools 26.0. | tools/ Available Packages:
Path | Version | Description
------- | ------- | -------
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g..._apis-google- | | Google APIs
add-ons;addon-g...e_gdk-google- | | Glass Development Kit Preview
build-tools;19.1. | 19.1. | Android SDK Build-Tools 19.1
build-tools;20.0. | 20.0. | Android SDK Build-Tools
build-tools;21.1. | 21.1. | Android SDK Build-Tools 21.1.
build-tools;22.0. | 22.0. | Android SDK Build-Tools 22.0.
build-tools;23.0. | 23.0. | Android SDK Build-Tools 23.0.
build-tools;23.0. | 23.0. | Android SDK Build-Tools 23.0.
build-tools;23.0. | 23.0. | Android SDK Build-Tools 23.0.
build-tools;24.0. | 24.0. | Android SDK Build-Tools
build-tools;24.0. | 24.0. | Android SDK Build-Tools 24.0.
build-tools;24.0. | 24.0. | Android SDK Build-Tools 24.0.
build-tools;24.0. | 24.0. | Android SDK Build-Tools 24.0.
build-tools;25.0. | 25.0. | Android SDK Build-Tools
build-tools;25.0. | 25.0. | Android SDK Build-Tools 25.0.
build-tools;25.0. | 25.0. | Android SDK Build-Tools 25.0.
build-tools;25.0. | 25.0. | Android SDK Build-Tools 25.0.
build-tools;26.0. | 26.0. | Android SDK Build-Tools
cmake;3.6. | 3.6. | CMake 3.6.
docs | | Documentation for Android SDK
emulator | 26.1. | Android Emulator
extras;android;gapid; | 1.0. | GPU Debugging tools
extras;android;gapid; | 3.1. | GPU Debugging tools
extras;android;m2repository | 47.0. | Android Support Repository
extras;google;auto | 1.1 | Android Auto Desktop Head Unit...
extras;google;g...e_play_services | | Google Play services
extras;google;instantapps | 1.0. | Instant Apps Development SDK
extras;google;m2repository | | Google Repository
extras;google;m...t_apk_expansion | | Google Play APK Expansion library
extras;google;market_licensing | | Google Play Licensing Library
extras;google;play_billing | | Google Play Billing Library
extras;google;simulators | | Android Auto API Simulators
extras;google;webdriver | | Google Web Driver
extras;m2reposi...ut-solver;1.0. | | Solver for ConstraintLayout 1.0.
extras;m2reposi...er;1.0.-alpha2 | | com.android.support.constraint...
extras;m2reposi...er;1.0.-alpha3 | | com.android.support.constraint...
extras;m2reposi...er;1.0.-alpha4 | | com.android.support.constraint...
extras;m2reposi...er;1.0.-alpha5 | | Solver for ConstraintLayout ....
extras;m2reposi...er;1.0.-alpha6 | | Solver for ConstraintLayout ....
extras;m2reposi...er;1.0.-alpha7 | | Solver for ConstraintLayout ....
extras;m2reposi...er;1.0.-alpha8 | | Solver for ConstraintLayout ....
extras;m2reposi...er;1.0.-alpha9 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta1 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta2 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta3 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta4 | | Solver for ConstraintLayout ....
extras;m2reposi...ver;1.0.-beta5 | | Solver for ConstraintLayout ....
extras;m2reposi...ut-solver;1.0. | | Solver for ConstraintLayout 1.0.
extras;m2reposi...ut-solver;1.0. | | Solver for ConstraintLayout 1.0.
extras;m2reposi...nt-layout;1.0. | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha2 | | com.android.support.constraint...
extras;m2reposi...ut;1.0.-alpha3 | | com.android.support.constraint...
extras;m2reposi...ut;1.0.-alpha4 | | com.android.support.constraint...
extras;m2reposi...ut;1.0.-alpha5 | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha6 | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha7 | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha8 | | ConstraintLayout for Android ...
extras;m2reposi...ut;1.0.-alpha9 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta1 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta2 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta3 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta4 | | ConstraintLayout for Android ...
extras;m2reposi...out;1.0.-beta5 | | ConstraintLayout for Android ...
extras;m2reposi...nt-layout;1.0. | | ConstraintLayout for Android ...
extras;m2reposi...nt-layout;1.0. | | ConstraintLayout for Android ...
lldb;2.0 | 2.0. | LLDB 2.0
lldb;2.1 | 2.1. | LLDB 2.1
lldb;2.2 | 2.2. | LLDB 2.2
lldb;2.3 | 2.3. | LLDB 2.3
ndk-bundle | 15.1. | NDK
patcher;v4 | | SDK Patch Applier v4
platform-tools | 26.0. | Android SDK Platform-Tools
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
platforms;android- | | Android SDK Platform
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
sources;android- | | Sources for Android
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...;default;mips | | MIPS System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...;default;mips | | MIPS System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...;default;mips | | MIPS System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...-tv;armeabi-v7a | | Android TV ARM EABI v7a System...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...;default;x86_64 | | Intel x86 Atom_64 System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...-tv;armeabi-v7a | | Android TV ARM EABI v7a System...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...;default;x86_64 | | Intel x86 Atom_64 System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...-tv;armeabi-v7a | | Android TV ARM EABI v7a System...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ear;armeabi-v7a | | Android Wear ARM EABI v7a Syst...
system-images;a...ndroid-wear;x86 | | Android Wear Intel x86 Atom Sy...
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...;default;x86_64 | | Intel x86 Atom_64 System Image
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...fault;arm64-v8a | | ARM v8a System Image
system-images;a...ult;armeabi-v7a | | ARM EABI v7a System Image
system-images;a...-;default;x86 | | Intel x86 Atom System Image
system-images;a...;default;x86_64 | | Intel x86 Atom_64 System Image
system-images;a..._apis;arm64-v8a | | Google APIs ARM v8a System ...
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...s_playstore;x86 | | Google Play Intel x86 Atom Sys...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ear;armeabi-v7a | | Android Wear ARM EABI v7a Syst...
system-images;a...ndroid-wear;x86 | | Android Wear Intel x86 Atom Sy...
system-images;a..._apis;arm64-v8a | | Google APIs ARM v8a System ...
system-images;a...pis;armeabi-v7a | | Google APIs ARM EABI v7a Syste...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...gle_apis;x86_64 | | Google APIs Intel x86 Atom_64 ...
system-images;a...;android-tv;x86 | | Android TV Intel x86 Atom Syst...
system-images;a...ndroid-wear;x86 | | Android Wear Intel x86 Atom Sy...
system-images;a...google_apis;x86 | | Google APIs Intel x86 Atom Sys...
system-images;a...s_playstore;x86 | | Google Play Intel x86 Atom Sys...
tools | 26.0. | Android SDK Tools Available Updates:
ID | Installed | Available
------- | ------- | -------
tools | 26.0. | 26.0.
4、安装需要的package
sdkmanager "build-tools;26.0.0"
5、配置platform tools
打开 /etc/profile 添加环境变量

验证配置结

三、安装nodejs:
安装版本:8.7.0
1、从源码下载Nodejs
cd /usr/local/src
wget https://npm.taobao.org/mirrors/node/v8.7.0/node-v8.7.0.tar.gz
2、解压缩 nodejs 安装包
tar xvf node-v8.7.0.tar.gz
3、进入解压的node文件夹,安装必要的编译软件包
cd node-v8.7.0
./configure
如提示gcc too old (英文那一大串我忘记了),大概意思让你升级ggc到4.90以上版本,因为nodejs8.7.0编译时gcc版本要求在4.9.4+。
升级gcc参考我另一篇Centos7升级gcc版本方法之一使用scl软件集
再次执行
./configure
make
注:make过程较为耗时,可能需要30分钟以上
4、安装Nodejs
sudo make instal
5、验证是否正确安装
node -v

四、安装appium:
1、源码安装:
git clone https://github.com/appium/appium.git
2、进入appium源码文件夹,使用cnpm install安装依赖
cnpm install
如在安装期间执行到这卡住了,一直不走,
Downloading Selendroid standalone server version 0.17. from http://repo1.maven.org/maven2/io/selendroid/selendroid-standalone/0.17.0/selendroid-standalone-0.17.0-with-dependencies.jar --> /usr/local/lib/node_modules/appium/node_modules/_appium-selendroid-driver@1.6.4@appium-selendroid-driver/selendroid/download/selendroid-server-7cf7163ac47f1c46eff95b62f78b58c1dabdec534acc6632da3784739f6e9d82.jar
自行到maven仓库下载 上传到对应目录下, 重命名为存放的文件名即可
3、最后用appium -v试一下安装好的版本

五、客户端部署(以Java为例)
1、pom添加依赖
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>5.0.-BETA9</version>
<scope>test</scope>
</dependency>
2、代码实例
package com.demo.test; import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.remote.DesiredCapabilities; import java.net.URL; /***
* @author longrong.lang
* appium demo
*/
public class CalculatorTest { public static void main(String[] args) throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "GALAXY S7");//deviceID
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "Android");//操作系统
capabilities.setCapability("platformVersion", "8.0.0");//系统版本
capabilities.setCapability("appPackage", "cn.pear.browser");//应用包名
capabilities.setCapability("appActivity", "cn.pear.browser.activities.WelcomeActivity");//启动页面
AndroidDriver driver = new AndroidDriver(new URL("http://172.25.40.208:4723/wd/hub"), capabilities);//appium服务端连接
Thread.sleep();
driver.quit();
} }
与众不同,才会备受关注。。。。。
基于centos7下appium环境搭建的更多相关文章
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- 基于Python的Appium环境搭建合集
自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...
- Mac OS下Appium环境搭建及Genymotion模拟器安装
说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...
- MAC平台基于Python的Appium环境搭建
前言 最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程. 一.环境和所需软件概述 ...
- 基于CentOS7.x gitlab环境搭建,卸载,汉化 --汉化篇
gitlab环境搭建,卸载,汉化--汉化篇 注意gitlab的版本需和汉化版本一致 安装git yum install -y git 下载最新的汉化包 cd git clone https://git ...
- 基于CentOS7.x gitlab环境搭建,卸载,汉化 --搭建篇
gitlab环境搭建,卸载,汉化 --搭建篇 环境搭建 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients pos ...
- Centos7下lamp环境搭建的小笔记
刚刚把校赛弄完,赛前在环境搭建上花了蛮多时间,也正好记一下笔记 0.首先更新源 清华大学开源镜像站的源 https://mirrors.tuna.tsinghua.edu.cn/help/centos ...
- 基于CentOS7.x gitlab环境搭建,卸载,汉化 --卸载篇
gitlab环境搭建,卸载,汉化 --卸载篇 完全卸载 停止gitlab gitlab-ctl stop 卸载gitlab rpm -e gitlab-ce 查看gitlab进程 ps aux | ...
- 基于GTK+3 开发远程控制管理软件(C语言实现)系列二 Centos7下开发环境搭建
一.安装gcc gcc-c++ make等编译工具 yum install gcc gcc-c++ kernel-devel 这一步,其实可以不用做,你在安装Centos7的时候,如果选择开发模式安装 ...
随机推荐
- GIT与SVN的比较
Git: 1. 分布式版本控制2. 不需要网络,本地就可以操作版本控制3. 可以是公用的,可以分享4. 不依赖于中央服务器,即使服务器有问题也不会有影响5. 传输方式不一样,git要比svn快很多6. ...
- js模板引擎-art-template常用总结
art-template javascript 模板引擎,官网:https://github.com/aui/art-template 分为原生语法和简洁语法,本文主要是讲简洁语法 基础数据渲染 输出 ...
- JS 比较两个数组是否相等 是否拥有相同元素
Javascript怎么比较两个数组是否相同?JS怎么比较两个数组是否有完全相同的元素?Javascript不能直接用==或者===来判断两个数组是否相等,无论是相等还是全等都不行,以下两行JS代码都 ...
- nginx接入let's encrypt
按以下步骤: 一.放开443端口 我的是云服务器,默认没开放443端口,需要先在控制台放开 二.使用let’s encrypt 生成证书 执行以下命令: git clone https://githu ...
- request.setCharacterEncoding()、response.setCharacterEncoding()的区别
request.setCharacterEncoding()是你设置获得数据的编码方式.response.setCharacterEncoding()是你响应时设置的编码.response.setCo ...
- Linux pmap 工具
pmap 用来查看当前进程占用内存使用详细 pmap 格式: -x, --extended # 显示扩展的信息 -d, --device # 显示设备的信息 -q, --quiet # 不显示头或脚注 ...
- [C++]Linux之多进程运行代码框架
声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步- 0.0 多进程代码框架示例 /* @url: ...
- Web前端性能优化常见面试题
一般说来,web前端指网站业务逻辑之前的部分,包括浏览器加载.网站视图模型.图片服务.CDN服务等,主要优化手段有浏览器访问.使用反向代理才.CDN等.1.减少http请求,合理浏览器缓存 2.启用压 ...
- 【节点-添加标签】【节点-删除标签】【显示年-月-日-星期】【math算数】【正则表达式】
1.节点-添加标签 <body><div id="div1"><p id="p1">这是一个段落.</p>< ...
- 🍓 redux示例 🍓