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,然而谁知一上来就掉坑里了…… 我根据网上的安装教程,默认安装了最新 ...
随机推荐
- H5 38-背景图片和插入图片区别
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- from bs4 import BeautifulSoup 报错
一: BeautifulSoup的安装: 下载地址:https://www.crummy.com/software/BeautifulSoup/bs4/download/4.6/ 下载后,解压缩,然后 ...
- Python集合及其运算
目录 集合(set) 集合的创建 集合的操作 集合的运算 子集与父集 集合(set) 集合是由不同可hash的值组成的,里面所有的值都是唯一的,也是无序的 集合的创建 >>>set_ ...
- 第一部分之简单字符串SDS(第二章)
一,什么是SDS? 1.引出SDSC字符串:c语言中,用空字符结尾的字符数组表示字符串简单动态字符串(SDS):Redis中,用SDS来表示字符串.在Redis中,包含字符串值的键值对在底层都是由SD ...
- Vmware的虚拟机示例进入BIOS方法
虚拟机(Vmware)怎么进入BIOS_百度经验 https://jingyan.baidu.com/article/7e440953e566472fc0e2eff7.html Vmware虚拟机进入 ...
- windows端玩转docker笔记
启动docker安装目录下的start.sh------我是windows系统端 1.搜一下资源 docker search ubuntu 2.下载镜像 docker pull ubuntu 3 ...
- laravel服务容器
laravel框架底层解析 本文参考陈昊<Laravel框架关键技术解析>,搭建一个属于自己的简化版服务容器.其中涉及到反射.自动加载,还是需要去了解一下. laravel服务容器 建立项 ...
- Laravel认证模块开发
菜鸟学Laravel(二) Laravel认证模块开发 laravel内部已经做好了一个简单的登录模块,我们可以用如下命令来生成: 1 php artisan make:auth 我们查看一下路由 ...
- 2 JAVA 项目名称前红色叹号如何解决
1 Java 项目前出现红色叹号Eclipse找不到项目需要的JAR包,可以在这里面解决: ① 右键点击项目,选择[Build Path].[Configure Build Path...] ② 在这 ...
- Oracle undo 表空间不可用
由于某次不小心操作,在切换表空间时没有成功,由于把undo的配置参数 undo_management值设置为MANUAL所以在启动数据库时没有报任何错误,但是给表插入数据时报错了,回滚段不可用的错误. ...