热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

更多_Linux下安装python+appium+android(附带各种错误解决办法)

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux下安装python+appium+android(附带各种错误解决办法)相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux下安装python+appium+android(附带各种错误解决办法)相关的知识,希望对你有一定的参考价值。



文章目录


  • 安装Android SDK
  • 安装nodejs、NPM、cnpm
  • 安装Appium
  • 安装Python和基础库
  • 设置WIFI连接及调试
  • 引用
  • 安装错误解决
    • [node安装错误]/usr/bin/env: node: No such file or directory
    • [appium在linux安装错误] Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver



安装android SDK

国内Android相关资源包下载地址:http://tools.android-studio.org/index.php/sdk

wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
tar -zxvf android-sdk_r24.4.1-linux.tgz
cd android-sdk-linux/tools
./android update sdk --no-ui # 更新SDK,下载platform-tools、add-ons

安装完成后执行adb命令提示错误libc.so.6: version GLIBC_2.14 not found。安装网上搜索的文章按步骤解决即可。
https://blog.csdn.net/heylun/article/details/78833050。
最后要把adb添加环境变量即可。


安装nodejs、NPM、cnpm

cnpm = cn + npm。即国内npm,由淘宝团队维护的国内npm完全镜像,常用于安装被墙的node包。

wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
xz -d node-v10.15.3-linux-x64.tar.xz
tar -xvf node-v10.15.3-linux-x64.tar
mv node-v10.15.3-linux-x64 /usr/local/node
ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm
# 安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
ln -s /usr/local/node/lib/node_modules/cnpm/bin/cnpm /usr/bin/cnpm

安装Appium

如果的node是通过非root用户安装的,那么appium的安装命令如下:

sudo cnpm install -g appium

如果你是通过root用户安装的话,则需要使用下面的命令来安装appium:

cnpm install -g appium --unsafe-perm=true --allow-root

安装Python和基础库

通过源码或者pyenv安装指定版本的Python,在通过pip安装appium-client。

pip install Appium-Python-Client

设置WIFI连接及调试

手机通过USB线连接到电脑,设置手机支持USB调试,允许电脑进行设备访问权限。

adb tcpip 9999
# 拔掉usb线
adb connect mobile.ip:9999

appium启动成功,adb通过wifi连接成功,通过如下代码测试环境是否正常。

from appium import webdriver
desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0.1'
desired_caps['deviceName'] = 'a84fcc5c'
desired_caps['appPackage'] = 'com.xxx.xxx' # 相应修改
desired_caps['appActivity'] = '.xxxActivity' # 相应修改
driver = webdriver.Remote('http://pcma.corpautohome.com:4723/wd/hub', desired_caps)
print(driver.page_source)
driver.quit()

引用

http://developer.android.com/sdk/


安装错误解决

[node安装错误]/usr/bin/env: node: No such file or directory

这是因为没有给node添加到全局变量

ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm

[appium在linux安装错误] Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver

非root用户安装的node,使用如下命令:

sudo cnpm install -g appium

root用户安装的node,使用如下命令:

cnpm install -g appium --unsafe-perm=true --allow-root

注意:cnmp需要自己安装,方式如下:

npm install -g cnpm --registry=https://registry.npm.taobao.org
ln -s $NODE_HOME/lib/node_modules/cnpm/bin/cnpm /usr/bin/cnpm

引用:https://github.com/appium/appium/issues/10020



获取更多感兴趣的文章,请扫描如下二维码!



推荐阅读
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
author-avatar
real存在尹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有