美文网首页测试人生
Eclipse+appium+夜神虚拟机环境调试

Eclipse+appium+夜神虚拟机环境调试

作者: 落地逃 | 来源:发表于2018-01-27 14:51 被阅读108次

    Eclipse+appium+夜神虚拟机环境调试

    最近在学习python,发现教程几乎都是连接手机真机,但是目前手里没有可测试的真机,所以想到用虚拟机练习。网上关于这部分的内容真的是非常少,好不容易找到一个遇到的问题也是卡了很久才解决,所以总结下过程和遇到的问题,重新回顾一下。这部分环境搭建确实挺复杂,会遇到各种各样的问题,大家需要有点小强精神哦

    1. python自动化实现原理

    首先先来了解一下appium工作原理,以及如何进行交互,方便我们了解自己需要搭建什么样的环境

    实现原理

            如上面图所示,appium自动化环境包括三个部分:客户端,服务端,移动设备,那么这3部分是如何工作的呢?

    1. 客户端编写好脚本后,运行代码,这里的客户端支持各种语言(python,java等),通过webdriver协议调用appium服务器

    2. 服务端首先建立一个会话,通过4724端口和移动设备通信

    3. 移动端bootstrap.jar接受到请求后发送给UIAotomator

    4. UIAotomator执行脚本命令,进行自动化测试


    2. 搭建环境所需工具安装

    通过上面的过程,我们了解到只要从这3端中挑选出适合自己的工具就可以了

    这里给大家介绍一个很好的搭建网址,供大家参考,介绍的非常详细,相信比我写出来的会好很多:http://www.testclass.net/appium/

    这里附上我自己下载的安装包路径,环境是win7 64 位:https://pan.baidu.com/s/1hsxT9FQ

    安装包

    3.环境调试

    在这一部分,我将按照实际过程的步骤进行讲解,大家按照我这个过程一步一步来,分别为测试包安装-》虚拟机连接电脑-》启动appiumdesktop-》建立回话-》运行脚本-》脚本运行成功

    3.1模拟器测试安装包安装

    1.   我这里安装的测试包为公司正在测试的一款软件‘飞凡’, ,将安装包直接拖拽到cmd后enter,可以看到模拟器安装包已经开始安装,安装成功如下图所示(如果不支持拖拽的话,在cmd中输入adb install app所在目录,如输入adb install  D:\chrome下载\com.wanda.app.wanhui_422000000.apk 也可以安装成功)

    安装成功

    3.2 模拟器adb命令连接到电脑

    打开夜神( )虚拟机,在cmd里输入命令adb connect 127.0.0.1:62001(如果环境变量没有配置ANDROID_HOME,cmd需进入Android sdk下的platform-tools目录下再运行adb connect 127.0.0.1:62001),出现connected to 127.0.0.1:62001提示说明连接成功。

    设备连接

    3.3 启动appiumdesktop,建立session回话,确定capability

    1. 点击图标 启动appiumdesktop,启动界面如下图所示

    启动界面

    2.点击start server按钮,出现server运行成功界面

    运行界面

    3.点击右上方搜索图标,在这里很关键,有几个需要我们确定的capbility,下图是我已经确定好的

    capbility

    4.那么如何确定这几个关键因素呢:

    Devicename(设备名称)

    appWaitActivity(测试包的首个等待页)

    appPackage(测试包的首个等待页)

    platformName(测试平台名称)

    platformVersion(测试平台版本号)

    Devicename  虚拟机连接电脑成功后,在cmd里输入adb devices,device前的就是设备名称,因为是虚拟机,所以出现的是ip地址端口号形式,如果要是真机的话就不是这样的

    虚拟机连接设备

    appPackage、appWaitActivity这两项我试用了很多方法,比如adb logcat命令,但我发现查找功能项appWaitActivity的时候查找不到,最后推荐大家使用我下面的方法:aapt

    1.cmd 进入 Android SDK下aapt目录:我这里目录是D:\software\android-sdk-windows\build-tools\27.0.2

    2.运行aapt工具:aapt dump badging 路径+名称,如aapt dump badging d:\com.wanda.app.wanhui_422000000.apk,

    包名称就是:com.wanda.app.wanhui,在Android系统中是判断一个App的唯一标识,这里要注意以这里显示的为准,不要直接写上面安装包的名称如com.wanda.app.wanhui_422000000,否则会报错

    包名称

    页面下拉找到appWaitActivity为:com.feifan.o2o.business.launch.LauncherActivity

    appWaitActivity

    3.platformName就是使用哪种移动平台,我这里就填Android

    4. platformVersion是测试平台版本号:虚拟机可以进入设置->关于查看,我这里是4.4.2

    platformVersion

    Ok,到这里我们把确定好的capbility都添加到appium中,点击右下方的保存按钮,appium的虚拟环境设置工作就完成了,接下来我们在eclipese里运行脚本

    3.4 eclipse运行脚本,调用appiumdestop中session回话

    这里我把建立项目的过程说一下:

    1. 在eclipse里运行脚本前需要导入python项目,参考配置网址:https://www.cnblogs.com/Bonker/p/3584707.html,如果觉得配置麻烦,用python自带的Idle运行也可以,简单方便

    2. 将下面的代码拷贝eclipse模块中,点击运行按钮,如果一切正常,就会看到夜神虚拟机中飞凡app成功启动运行

    @author: Administrator

    '''

    #coding=utf-8

    from appium import webdriver

    desired_caps = {}

    desired_caps['platformName'] = 'Android'

    desired_caps['platformVersion'] = '4.4.2'

    desired_caps['deviceName'] = '127.0.0.1:62001'

    desired_caps['appPackage'] = 'com.wanda.app.wanhui'

    desired_caps['appActivity'] = 'com.feifan.o2o.business.launch.LauncherActivity'

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

    driver.find_element_by_name('黄商超市八里商贸中心店').click()

    driver.quit()


    4.在运行过程中会遇到的错误

    实际上,刚刚接触自动化环境,搭建完成后都会遇到各种错误,下面举例说明一下

    4.1.运行代码后 appium desktop 启动,提示“could not find a connected Android device”,这个问题困扰了我好久,明明知道是没有找到设备,但就是想不明白为什么找不到,这时我就开始各种怀疑人生,难道是我环境配错了,进行了各种试错过程,后来想了想adb 经常重启,就尝试着在运行代码后,在cmd里重新执行adb connect 127.0.0.1:62001命令,ok 问题解决,当用真机的时候就不会有这样的问题

    错误1

    4.2问题1 解决后出现如下提示error running command: Error: Unable to find an active device or emulator with OS 4.4.4.. The following are available: 127.0.0.1:7555 (4.4.4)

    错误2

    原来4.4.4.,后面多了一个” .”,这种错误同志们不要尝试犯这种低级错误

    3. 继续运行一遍代码,这回提示错误“activity used to start app doesn’t exist or cannot be launched!make sure…”,提示的意思是启动app时没有找到activity,可以确定是我们的launchable activity写错啦,重新查一遍launchable activity具体是什么就好了,回到上文aapt命令翻阅

    错误3

    4.eclipse运行程序,报错“name '黄商超市八里商贸中心店' is not defined”

    错误4

    查看上面的代码发现()里的内容没有加‘’导致,添加即可

    综上,其实在eclipse运行代码后,夜神虚拟机中指定app启动成功就说明你的环境已经配置成功了,接下来就可以进行自动化脚本编写啦

    相关文章

      网友评论

        本文标题:Eclipse+appium+夜神虚拟机环境调试

        本文链接:https://www.haomeiwen.com/subject/gopnaxtx.html