Appium环境的安装以及一路上的坑
Appium环境的安装以及一路上的坑
第一步环境的安装
l javaJDK的安装以及环境变量的配置这个我就不说了网上的教程全都是,搜一个安装一下吧
l AndroidSDK的安装也是如此我是直接安装的Studio,直接就安装了SDK
l Node.js安装下载,网址: http://nodejs.cn/download/
l Appium的下载以及安装
网址: https://bitbucket.org/appium/appium.app/downloads/
第二步验证环境安装成功:
l 如图:
第三步:环境安装遇到问题的排查:
l 执行命令appium-doctor,提示:android_home is not set
如图:
l 解决办法:在环境变量配置Appium:
1) APPIUM_HOME D:\ToolsInstall\Appium\node_modules\appium
2) Path加入: D:\ToolsInstall\Appium\node_modules\.bin
第四步:运行一个Appium的实例
代码如下:
# coding:utf-8
import os
from selenium import webdriver PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
)
desired_caps = { }
desired_caps['deviceName'] = 'VBJ4C18607003439' # adb devices查到的设备名
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '8.1.0' #android 系统版本
desired_caps['appPackage'] = 'com.aerozhonghuan.serialporttool' # 被测App的包名
desired_caps['appActivity'] = 'com.aerozhonghuan.serialporttool.MainActivity' # 启动时的Activity
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
el = driver.find_element_by_id("com.aerozhonghuan.serialporttool:id/btn_heartbeat")
el.click()
print('第一个appium脚本运行成功了')
driver.quit()
第五步:脚本中元素的定位工具
- 获取包名和启动activity
命令: aapt dump badging C:\Users\lenovo\Desktop\sany_serialport.apk
如图:
2.获取页面id
Sdk自带工具: Android\Sdk\tools\bin\uiautomatorviewer.bat
如图:
第六步:运行脚本过程中遇到的问题:
- 运行脚本过程中出现: A new session could not be created
a) 首先安装SDK的路径不能含有空格
b) 其次环境变量配置要使用android_home(我之前是sdk_home,修改后便不再报错)
c) 修改后页面正确显示应该显示如下图
如图:
2.运行脚本的过程中报错:
"C:\Users\sxie\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "ps 'uiautomator'""
l 将\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js的1033行左右修改为如下内容:
代码:
ADB.prototype.getPIDsByName = function (name, cb) {
logger.debug("Getting all processes with '" + name + "'");
this.shell_grep("ps",name,function(err, stdout) {
if (err) {
logger.debug("No matching processes found");
return cb(null, []);
}
var pids = [];
_.each(procs, function (proc) {
var match = /[^\t ]+[\t ]+([0-9]+)/.exec(proc);
if (match) {
pids.push(parseInt(match[1], 10));
}
});
if (pids.length !== procs.length) {
var msg = "Could not extract PIDs from ps output. PIDS: " +
JSON.stringify(pids) + ", Procs: " + JSON.stringify(procs);
return cb(new Error(msg));
}
cb(null, pids);
});
}; ADB.prototype.shell_grep = function(cmd,grep,cb){
if(cmd.indexOf("") === -1){
cmd = ""+ cmd + "";
}
var execCmd = 'shell' + cmd + '| grep' + grep;
this.exec(execCmd, cb);
};
注:在环境的安装这一步我参考了乙醇的博客和一篇简书里的博客:
2) http://www.cnblogs.com/nbkhic/p/3803883.html#undefined
Appium环境的安装以及一路上的坑的更多相关文章
- Appium环境的安装与配置,Python测试脚本测试
Appium自动化测试系列1 - Appium环境的安装与配置 发表于4个月前(2015-01-27 14:34) 阅读(803) | 评论(0) 0人收藏此文章, 我要收藏 赞0 寻找 会’偷懒 ...
- Appium环境搭建——安装以及运行appium server失败点总结
一.运行Appium失败:未安装.Net Framework 4.5 之前安装AppScan安全测试工具时,就要求.Net 4.5以上环境,我其中一台电脑的系统是Win7-32bit的,安装.Net ...
- ubuntu环境下安装docker遇到的坑
ubuntu安装docker的前提条件是: 1. Linux 的内核版本在 3.10 或以上: 2. linux 内核要开启 cgroup 和 namespace 功能 可以执行命令:uname –a ...
- 2.0 python+appium环境搭建
Python下载地址:链接:https://pan.baidu.com/s/1Z3H8tw8AiBVwpxdcABC7XQ 密码:z66t Pycharm下载地址: 链接:https://pan.ba ...
- 移动端自动化测试Appium环境搭建(part1-2-3)
Appium移动端自动化测试相信大家都不陌生,appium的铁哥们是selenium,不管是selenium还是appium,都是调用webdriver来做自动化测试.今天关于appium的介绍我们不 ...
- Appium环境搭建(win/mac)
课程使用Windows+Android虚拟机, 建议使用Windows系统学习课程, 如使用Mac系统, 请另外准备一台Andorid手机 Windows系统Appium环境搭建 安装JDK并配置环境 ...
- 【Mac + Appium学习(一)】之安装Appium环境前提准备
环境: Appium version :1.9.1 Appium-desktop:1.7.1 Xcode:10.0 IOS:iPhone5S(10.3.3) Android:6.0.1 Mac:10. ...
- appium mac 下 安装及踩坑
Appium Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver的json ...
- Windows环境下Anaconda安装TensorFlow的避坑指南
最近群里聊天时经常会提到DL的东西,也有群友在学习mxnet,但听说坑比较多.为了赶上潮流顺便避坑,我果断选择了TensorFlow,然而谁知一上来就掉坑里了…… 我根据网上的安装教程,默认安装了最新 ...
随机推荐
- OO博客作业1:第1-3周作业总结
(1)基于度量来分析自己的程序结构 注:UML图中每个划分了的圆角矩形代表一个类或接口,箭头可代表创建.访问数据等行为.类的图形内部分为3个部分,从上到下依次是类的名称.类包含的实例变量(属性).类实 ...
- STL vector用法
基本操作 1.构造函数 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t&am ...
- PyCharm中快速给选中的代码加上{}、<>、()、[]
快捷键Ctrl + Shift + S 呼出下图所示界面:
- MySql数据库连接池专题
MySql数据库连接池专题 - aspirant - 博客园https://www.cnblogs.com/aspirant/p/6747238.html
- vmware can not be closed virtual machine is busy
VMware does not close when Windows Server 2003 ... |VMware Communities https://communities.vmware.co ...
- Chrome 离线安装插件的办法
参考url 学习网址 https://blog.csdn.net/weixin_39068791/article/details/81411938 插件下载地址: http://www.lanfans ...
- Python OpenCV人脸识别案例
■环境 Python 3.6.0 Pycharm 2017.1.3 ■库.库的版本 OpenCV 3.4.1 (cp36) ■haarcascades下载 https://github.com/ope ...
- jQ append 添加html 及字符串拼接
如图,我要拼接这样一段html: 点击下边添加按钮,不断添加这段Html html: <div class="x_addtable"> <div class=&q ...
- 老男孩python学习自修第十八天【面向对象】
1.类与对象(构造方法与实例化) #!/usr/bin/env python # _*_ coding:UTF-8 _*_ class Province: def __init__(self, nam ...
- 解决spring多线程不共享事务的问题
在一个事务中使用多线程操作数据库时,若同时存在对数据库的读写操作,可能出现数据读取的不准确,因为多线程将不会共享同一个事务(也就是说子线程和主线程的事务不一样),为了解决这个问题,可以使用spring ...