appium命令环境搭建以及参数的使用
两种方法安装appium命令版服务器
第1种:访问appium官网进行下载,Windows终端中安装输入cmd输入npm install appium 进行安装(国内经常无法访问)
第2种(常用)将appium下载的源指向淘宝的公共源:
- 首先安装cnpm 终端中输入:npm install -g cnpm --registry=http://registry.taobao.org
安装成功后输入:cnpm 如下图说明安装成功
- 通过淘宝源安装appium 终端中输入:输入:cnpm install -g appium 安装appium
- 安装成功后输入:appium
appium基本使用
命令窗口中启动appium的各种姿势
- 终端中直接输入 ---> appium 直接启动默认监听端口(4723)
- 指定监听端口启动 ---> appium -p 4725
- 同时指定多个端口启动 ---> appium -p 4700 -bp 4701
- 同时启动多个端口且为每个端口指定手机id ---> appium -p 4700 -bp 4701 -U 手机id (通过adb devices来查看连接在当前pc的手机或者手机模拟器)
命令启动和脚本结合
测试文件-->testappium.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'tian'
__data__ = '2019/3/5 21:02'
import time
from appium import webdriver
def get_diver():
capabilities = {
"platformName" :"Android",
"automationName" : "UiAutomator2",
"deviceName" :"127.0.0.1:21503",
"app" :"E:\\appiumautocode\\xxooolla.apk",#本地E盘中的安卓apk包
"noReset" :"True" ,
}
driver = webdriver.Remote("http://127.0.0.1:4700/wd/hub",capabilities)#4700是启动服务器监听的端口
time.sleep(5)
return driver
get_diver()
查看服务器有相关日志打印出来说明连接正常
Python依次启动多个appium服务器
1、多进程启动多个appium服务器
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'tian' __data__ = '2019/3/11 10:24' import osimport multiprocessing lit = ['127.0.0.1:21503',"127.0.0.1:7555"] #两个移动设备id appium_port_list = [4700,4701] bootstrap_port_list = [4900,4901] def startappium(i): apium_start = "appium -p {0} -bp {1} -U {2} --no-reset --session-override".format(appium_port_list[i],bootstrap_port_list[i],lit[i]) print(os.system(apium_start)) if __name__ == '__main__': threads = [] for i in range(len(lit)): t =multiprocessing.Process(target=startappium,args=(i,)) threads.append(t) for j in threads: j.start()
2、多线程启动多个appium服务器
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'tian' __data__ = '2019/3/11 10:24' import os import threading # import multiprocessing lit = ['127.0.0.1:21503',"127.0.0.1:7555"] appium_port_list = [4700,4701] bootstrap_port_list = [4900,4901] def startappium(i): apium_start = "appium -p {0} -bp {1} -U {2} --no-reset --session-override".format(appium_port_list[i],bootstrap_port_list[i],lit[i]) print(os.system(apium_start)) if __name__ == '__main__': threads = [] for i in range(len(lit)): t =threading.Thread(target=startappium,args=(i,)) threads.append(t) for j in threads: j.start()
启动成功后的截图