appium+python自动化44-appium命令行模式
前言
appium desktop有个客户端版本,每次运行脚本的时候都要去双击启动才能运行,很显然不太方便,影响效率。那么有没什么办法不启动桌面程序就能运行呢,比如cmd命令行执行?

环境:
appium 命令行模式版本 1.8
windows环境
npm
1.NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。可以通过输入 "npm -v"来测试是否成功安装.
npm -v

2.如果npm版本过低,也可以通过以下指令升级npm版本
npm install npm -g
npm安装appium
1.npm 的包安装分为本地安装(local)、全局安装(global)两种,一般推荐全局安装(-g).
注意,如果直接这样安装appium会非常慢
npm install -g appium
2.直接安装会特别慢,还经常报错,这个时候就需要用到淘宝的镜像地址:http://registry.npm.taobao.org
用这个也可以http://registry.cnpmjs.org
npm --registry https://registry.npm.taobao.org install -g appium
3.指定版本安装,比如想安装1.7.1版本,那就appium@1.7.1
npm --registry https://registry.npm.taobao.org install -g appium@1.7.1
其它方法:如果不想每次输入那个地址,可以修改npm配置
> npm config set registry http://registry.npm.taobao.org
改完之后查看是否改成功
> npm config get registry
下次就能直接这样安装了
> npm install -g appium
cnpm
1.如果不想用npm安装的,可以用cnpm安装,这个相当于是npm的升级版,先用npm安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org

2.用cnpm安装appium也一样
cnpm install appium
卸载与查看
1.查看appium版本号
appium -v

2.卸载appium版本
npm uninstall -g appium
这个指令卸载貌似一直报错,有个文件一直报找不到,不知道为啥,不能卸载就去搜索到appium路径,全部删除吧
启动appium
1.启动appium,打开cmd输入appium就能启动了,接下来跟打开客户端版本一样,也能运行python代码了
appium
启动后会出现如下信息:
C:\Users\admin>appium
[Appium] Appium support for versions of node < 8 has been deprecated
removed in a future version. Please upgrade!
[Appium] Welcome to Appium v1.8.0
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

在学习过程中有遇到疑问的,可以appium+python QQ群交流:330467341
appium+python自动化44-appium命令行模式的更多相关文章
- Python 分页和shell命令行模式
前言 除了手动添加你的文章后外,你还可以用命令行来添加,python 自带了一种命令行 就是 shell 快速添加博文:Shell命令行模式 在你的目录下:mysite python manage.p ...
- Appium+Python自动化 4 -appium元素定位
appium定位app上的元素方式 在前面文章中有介绍,(通过UIautomator工具查看app元素) appium定位app上的元素,可以通过id,name,class这些属性定位到 1.id 定 ...
- appium+python自动化60-windows上同时启动多个appium服务,让多个android机器并行运行
前言 做android自动化的时候,启动一个appium服务,只能匹配一个手机去自动化执行.有时候想同一套代码,可以在不同的手机上执行,测下app在不同手机上兼容性. 这就需要启动多个appium服务 ...
- Appium+python自动化(三十六)- 士兵突击许三多 - 多个appium服务启动,多个设备启动,多进程并发启动设备-并发测试 - 上(超详解)
简介 前面课程只是启动了单个appium服务,只能控制单台设备.如果需要针对多台设备测试那么该如何处理?而且发现群里的小伙伴们也在时不时地在讨论这个问题,想知道怎么实现的,于是宏哥就决定写一片这样的文 ...
- Appium 命令行模式下遇到的问题总结及解决方案 npm ERR! tar.unpack unzip(或者untar) error
安装了GUI Appium后,卸载删除问题后,使用命令行模式安装. 一. 遇到问题: nalideMacBook-Pro:~ nali$ npm install -g appium npm ERR! ...
- Appium+Python自动化 1 环境搭建(适用windows系统-Android移动端自动化)
一.安装并配置 java jdk ①下载 java jdk后 安装,安装完成后,配置环境变量 打开计算机->系统属性->高级系统设置->环境变量->新建(系统变量),如图所示: ...
- Appium+python自动化8-Appium Python API
Appium+python自动化8-AppiumPython API 前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts conte ...
- Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...
- Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP【转载】
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...
随机推荐
- 学习1:python输入输出
1. 输出 >>> print "hello world" hello world >>> print 'hello world' hello ...
- 12:django 模板 内建过滤器
django 模板 内建过滤器 add{{ value|add:"2" }} 对象的加法,如果都是整数类型,简单的算术加法:如果是列表,则是列表的相加 如果无法执行对象的相加,比如 ...
- 高性能网络服务器--I/O复用 select poll epoll_wait之间的区别
一.select select采用的是集合的方式,最多只能访问1024个套接字.可读,可写,异常,三种访问,并且采用的是轮训的方式进行每次访问都需要从内核向用户空间拷贝 二.poll poll采用的是 ...
- nginx+uwsgi+django+virtualenv+supervisor部署web服务器
wsgi 全称web server gateway interface,wsgi不是服务器,也不是python模块,只是一种协议,描述web server如何和web application通信的规则 ...
- ps -ef和ps aux的区别
ps -ef 是用标准格式(standard syntax)显示进程 ,ps aux 是用BSD格式(BSD syntax)来显示进程 ps -ef 结果如下: 部分含义如下: PPID //父进程I ...
- ofbiz之entity实体写法
实体定义文件 实体定义文件一般存放位置是在对应模块的entity文件夹下面,以party为例,party的实体定义文件路径为 %ofbiz-home%\applications\party\enti ...
- SGU 289. Challenging Tic-Tac-Toe
注意一个问题就是不合法状态的判定.一个是点数不对,一个是X赢了,但是0接着下了一个子,一个是0赢了,但X也接着下了子,判断一下就行了. 做法是直接搜索,然后调参数...比较难懂的说. #include ...
- Python基础系列----函数,面向对象,异常
1.前言 前 ...
- WCF+Windows2008&&sqlserver2008
这些在我的文件和云盘当中也可以在csdn中查找
- Java空对象设计模式
有时候我们的代码中为避免 NullPointerException 会出现很多的对Null的判断语句,而这些语句一旦多起来,我们的代码就会变的惨不忍睹,因此我们引入了空对象模式(null object ...