其他分享
首页 > 其他分享> > APP自动化基础之环境准备

APP自动化基础之环境准备

作者:互联网

APP自动化测试所需要的环境

以下是进行app自动化测试前需要准备的环境清单:

APP自动化测试环境与web自动化测试环境的比较

web自动化测试中所需要准备的环境如下:

APP自动化测试所需要准备的环境如下:

环境准备

手机

真机

真机也就是真实的手机,在测试时需要开启开发者模式。
安卓端的开发者模式一般在关于手机-Android版本中点击多次,弹出一个Android版本的画面即可开启开发者模式:
在这里插入图片描述
在这里插入图片描述
而ios上开启开发者模式就比较麻烦些,不仅要在手机端进行设置,还需要一个开发者账号,而账号是需要每年交一笔钱的。

模拟器

现在市场上的手机模拟器一般是用来打手游的居多。比较出名的模拟器有以下几款:

两者比较

真机与模拟器相比较,更贴近真实的环境,测试效果也是最完美的。因为模拟器毕竟在电脑上面运行的程序,所以本质上还是用着电脑端CPU的wintel的架构(分为x86和x64);而手机的架构与电脑架构完全不同,它的CPU是分为ARM、联发科等架构的,所以模拟器并不能完全代替手机进行测试,但如果公司没有真机资源的条件下,只能使用模拟器进行测试。

appnium client

appnium client的安装是所有环境准备中最简单的,只需要执行:pip install Appium-Python-Client即可。

appnium server

appnium的服务端根据工作方式不同又分为桌面程序及命令行工具。这里一般推荐使用桌面程序,因为它的功能比命令行工具要丰富些。

桌面程序

下载

进入appnium官网提供的github下载地址:
https://github.com/appium/appium/
在这里插入图片描述
由于高版本容易出现问题,所以这里推荐使用1.13版本:
https://github.com/appium/appium-desktop/releases/tag/v1.13.0

安装

安装时需要注意以下两点:

基本设置

打开appium,可进行一些基本的设置,一般只需要设置红色框的这4个配置就ok了:
在这里插入图片描述

运行

点击Start Server,弹出如下信息,即证明安装成功:
在这里插入图片描述

命令行工具

appnium server的命令行程序由于是用JavaScript写的,所以需要安装js的环境:Nodejs

Nodejs安装

进入官网:http://nodejs.cn/
在这里插入图片描述
如果安装的是msi,则安装完毕后会自动导入nodejs的路径到Path变量中:
在这里插入图片描述
如果是选择其他的进行安装而没有自动导入环境变量,需要手动设置。
环境变量没问题之后,打开cmd输入node --version,弹出版本号则表明安装成功:
在这里插入图片描述
如果提示不是内部命令,则可尝试重启cmd再执行。

appium命令行安装

执行:npm install -g appium即可进行安装:
在这里插入图片描述

端口占用

appium命令行端口号默认为4723,而appium桌面程序默认端口也为4723,所以为了两个端口号不冲突,需更改下命令行端口号或桌面程序端口号。命令行端口号更改命令为:appium -p 指定端口号

JDK

为什么要装JDK呢?因为安卓系统就是JAVA写的,app除了web应用之外,也一般都是java写的,需要JAVA的环境运行。
由于jdk官网下载较慢且很麻烦(需要登录),所以这里提供华为的jdk镜像下载地址:
https://repo.huaweicloud.com/java/jdk/
jdk安装这里就不再详细赘述了。需注意以下两点即可:

android SDK

下载

android SDK官方下载地址:
https://developer.android.google.cn/studio/

在这里插入图片描述

环境变量设置

查找手机

打开模拟器或连接手机

这里我们打开雷电模拟器:
在这里插入图片描述

adb devices

在cmd中输入adb devices,检测到手机设备:
在这里插入图片描述

第一个demo

从appium包中导入webdriver,然后通过webdriver的Remote来初始化设备。从这里我们可以看出appium的初始化手机设备与selenium初始化浏览器是相似的,这是因为appium其实是继承selenium的基本类,然后在上面拓展自己的代码。

from appium import webdriver

driver = webdriver.Remote()

接下来我们看下Remote类中要传的参数:

    def __init__(self, command_executor: str = 'http://127.0.0.1:4444/wd/hub',
                 desired_capabilities: Optional[Dict] = None, browser_profile: str = None, proxy: str = None, keep_alive: bool = True, direct_connection: bool = False):

        super().__init__(
            AppiumConnection(command_executor, keep_alive=keep_alive),
            desired_capabilities,
            browser_profile,
            proxy
        )

这里主要要传两个参数:command_executor及desired_capabilities。command_executor是设置appium server的url,注意要与appium server端的IP和port相对应:
在这里插入图片描述

desired_capabilities是一个列表,传入测试所需要的一些环境参数。以下是最主要的几个参数:

执行前得先打开appium server及模拟器或连接真机;执行代码后会在appium server端打印日志信息。如下即为执行成功:
在这里插入图片描述
在模拟器上也打开了应用:
在这里插入图片描述

标签:appium,APP,环境,appnium,adb,自动化,server,安装,模拟器
来源: https://blog.csdn.net/weixin_44885027/article/details/112761628