Appium环境的安装以及一路上的坑

Appium环境的安装以及一路上的坑

第一步环境的安装

l  javaJDK的安装以及环境变量的配置这个我就不说了网上的教程全都是,搜一个安装一下吧文章来源地址:https://www.yii666.com/article/764098.html

l  AndroidSDK的安装也是如此我是直接安装的Studio,直接就安装了SDK

l  Node.js安装下载,网址: http://nodejs.cn/download/

l   Appium的下载以及安装

网址: https://bitbucket.org/appium/appium.app/downloads/

第二步验证环境安装成功:

l  如图:Appium环境的安装以及一路上的坑

第三步:环境安装遇到问题的排查:

l  执行命令appium-doctor,提示:android_home is not set

如图:Appium环境的安装以及一路上的坑

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()

第五步:脚本中元素的定位工具

  1. 获取包名和启动activity

命令: aapt dump badging C:\Users\lenovo\Desktop\sany_serialport.apk

如图:Appium环境的安装以及一路上的坑

2.获取页面id

Sdk自带工具: Android\Sdk\tools\bin\uiautomatorviewer.bat

如图:Appium环境的安装以及一路上的坑

第六步:运行脚本过程中遇到的问题:

  1. 运行脚本过程中出现: A new session could not be created

a)     首先安装SDK的路径不能含有空格

b)     其次环境变量配置要使用android_home(我之前是sdk_home,修改后便不再报错)文章地址https://www.yii666.com/article/764098.html

c)      修改后页面正确显示应该显示如下图

如图:Appium环境的安装以及一路上的坑

 

2.运行脚本的过程中报错:

"C:\Users\sxie\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "ps 'uiautomator'""文章来源地址https://www.yii666.com/article/764098.html

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);
};

注:在环境的安装这一步我参考了乙醇的博客和一篇简书里的博客:

1)          https://www.jianshu.com/p/3eddb5979c69?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation网址:yii666.com<网址:yii666.com

2)          http://www.cnblogs.com/nbkhic/p/3803883.html#undefined

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png