博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自动化测试 | Appnium | 一、 appium 环境搭建
阅读量:2241 次
发布时间:2019-05-09

本文共 3177 字,大约阅读时间需要 10 分钟。

目录

概述

Appium架构分为两部分,一部分是Appium Client,主要是提供各种各种语言的API,另一部分是Appium Server,用来接收App Client发送的命令然后发送给被测试的移动端,从而进行UI的自动化测试,大致框架结构如下:

在这里插入图片描述
因项目中未涉及到IOS系统的软件,目前只进行Android系统的自动化测试。

环境搭建

操作系统:Win 10

安装Node.js

  1. 从官方网站下载node安装包后,根据提示一步步安装,打开cmd输入命令
>  node -v>  npm -v

若出现如下图所示结果,则安装成功

在这里插入图片描述
注:默认情况下,node安装时会把安装路径写到环境变量中,若没有写入,可以自己将安装路径写到环境变量中。

安装appium-doctor

appium-doctor是用来检查appium环境是否搭建完成的,但其并不是安装appium的必需步骤。

>npm install -g appium-doctor>appium-doctor

appium-doctor会检查当前环境是否搭建完成,如下图

在这里插入图片描述
如图所示,node、android和java环境时必须的依赖,因此还需要安装android和java环境。

安装Java环境

java环境安装的文档有很多,不在此详细描述

1、官网下载安装包
2、配置环境变量

安装Android环境

这一部分是最麻烦的地方,由于一些总所周知的原因,Google网站总是无法访问,在此提供一个,它专门收集了很多需要使用Android工具包。

1、sdk tools,解压到指定安装目录
2、sdk platform-tools,解压到指定安装目录,这个包中主要是一些 adb, fastboot 等工具。
3、将这两个目录都配置到系统的path变量中,便于后期直接在命令行使用工具包中的命令。
现在再采用appium-doctor命令检查,会发现基本命令已经安装成功
在这里插入图片描述

安装appium-server 桌面版

appium-server提供了桌面版和命令行版,桌面版就是提供了一个可视化界面,更便于操作,命令版直接采用npm安装,命令如下:

>npm install -g appium

桌面版从进行下载,然后按照提示一步步安装就行了。

安装模拟器

不是必须步骤,也可以直接使用真机,为了方便,这里使用Android模拟器,同样,由于Android自身提供的模拟器需要从google官网下载,所以这里选择了夜神模拟器,直接下载跟着提示安装就好了。

注:打开夜神模拟器,可能会出现蓝屏的问题,由于windows在后台会默认开一个hyper-v虚拟服务器功能,打开夜神就会冲突,解决办法就是将Hyper-V这个配置关闭。

  1. 找到程序和功能
  2. 点击“启用或关闭windows服务”
  3. 将hyper-v服务关闭,点击“确认”,重启

环境验证

上述环境配置成功后,现在可以进行验证,目的是使用appium-server连接夜神模拟器。

夜神模拟器

1、打开夜神模拟器

2、先使用命令查看当前环境中是否有设备连接

C:\Users\huyp>adb devices

第一次输入该命令时,会默认打开对5037端口的监听,如下图所示

在这里插入图片描述
3、使用adb命令连接虚拟机设备,夜神默认模拟器端口为62001

C:\Users\huyp>adb connect 127.0.0.1:62001

连接成功后,再次使用adb命令就可查看到连接的设备,如下图所示

在这里插入图片描述

问题与解决方案

问题一 使用adb devices命令报错: “adb server is out of date. killing…”

这是由于adb server的端口被占用了,解决方案是找到占用端口的进程,然后将进程杀死

>netstat -ano | findstr "5037">taskkill /f /pid 进程PID

问题二 adb连接夜神模拟器报错:“adb server version (31) doesn’t match this client (36) ”

这是由于adb server和adb client版本不一致导致的,这里adb server版本指的是模拟器中adb程序的版本

client 的版本指的是SDK中adb的程序版本,使用"adb version"命令可以查看adb的版本。解决方案是将SDK中的adb.exe复制到夜神的安装目录的bin文件夹中,并修改名称为nox_adb.exe,记得将原始文件备份哦!

appium-server

打开Appium桌面应用程序,如下图

在这里插入图片描述
这里的Host和Port是提供给Appium Client连接的,使用默认值就好。点击“Start”按钮,进入主界面,主机面就是当前服务器后台的一些日志输出,点击右上角的按钮,打开一个session的配置页面,如下图
在这里插入图片描述
输入相关的参数,用来连接到模拟器中的app,这里以系统自带的通讯录为例,如下图:
在这里插入图片描述

参数介绍

platformName、platfromVersion

platformNameplatfromVersion就是模拟器的操作系统和版本,可以在模拟器的“设置”中找到“关于手机”页面查看当前模拟器的操作系统信息,如下图,因此,platformName=“Android” platformVersion=“5.1.1”

在这里插入图片描述

deviceName

deviceName就是模拟器的名称,用’'adb devices"命令可以看到,如下图,deviceName=“127.0.0.1:62001”

在这里插入图片描述

appPackage、appActivity

appPackageappActivity分别是模拟器上对应app的包名和入口Activity名称。

方案一

如果有对应的apk安装包,可以使用appt工具进行查看。

1、sdk build-tools,将解压出的整个文件夹复制或者移动到sdk安装路径/build-tools 文件夹即可。
2、将build-tools目录加入到path系统变量中
3、使用命令"aapt dump badging E:\apk\es3.apk"查看apk信息,主要关注两个信息,package:name='com.shenzhou,workmana’和launchable-activity:name=‘com.shenzhou.workmana.NewActivity’,前面就是appPackage,后面是appActivity。
在这里插入图片描述
在这里插入图片描述

方案二

如果没有apk安装包,模拟器上已经安装了app,可以使用adb的logcat命令查看该模拟器的运行日志,从日志中可以找到对应的app信息。

1、使用命令adb logcat查询模拟器日志,将日志保存到文件中方便查看

>adb logcat>D:\log.txt

2、在模拟器中打开通讯录软件

3、查看日志文件,查找包含“Start proc”关键字的日志,就会找到最后打开的通讯录的相关信息,如下图,appPackage=“com.android.contacts” appActivity=".activities.PeopleActivity"
在这里插入图片描述
4. 参数配置完成后,点击右下角的“Start Session”,出现如下图所示界面则表示连接成功。
在这里插入图片描述

问题与解决方案

问题一 提示找不到’aapt.exe’和’zipalign.exe’

解决方案:将sdk下的build-tools目录中的aapt.exe和zipalign.exe拷贝到platform-tools目录中

总结

所有的步骤完成之后,基本上appium-server端的整个开发环境已经搭建完成了。

转载地址:http://ojebb.baihongyu.com/

你可能感兴趣的文章
【深度学习】LSTM的架构及公式
查看>>
【python】re模块常用方法
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>
阿里云《云原生》公开课笔记 第五章 应用编排与管理
查看>>
阿里云《云原生》公开课笔记 第六章 应用编排与管理:Deployment
查看>>
阿里云《云原生》公开课笔记 第七章 应用编排与管理:Job和DaemonSet
查看>>
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>