python自动化测试之Appium自动化测试环境搭建

【文章末尾给大家留下了大量的福利】

 前言:

好几个小伙伴在问appium环境搭建咋整勒,这不就整出来了嘛,接下来几篇文章就把常用的所有的环境搭建都写完把

Appium 介绍

    Appium是一个开源工具,用于自动化IOS手机、Android手机和Windows 桌面平台上的原生、移动 Web 和混合应用。Appium 是跨平台的它允许你用同样的 API 对多平台(iOS、Android、Windows)写测试。做到在 iOS、Android 和 Windows 测试套件之间复用代码。

Appium 的概念

客户端 / 服务器架构

 Appium的核心是一个公开REST API的Web服务器。它接受来自客户端的连接,监听命令并在移动设备上执行,答复 HTTP 响应来描述执行结果。

Session(会话)

 自动化始终在一个会话的上下文中执行,这些客户端程序库以各自的方式发起与服务器的会话,但最终都会发给服务器一个 POST /session 请求,请求中包含一个被称作「Desired Capabilities」的 JSON 对象。此时,服务器将启动自动化会话并使用用于发送更多命令的会话 ID 进行响应。

Desired Capabilities

 Desired Capabilities 是一些发送给 Appium 服务器的键值对集合(比如 map 或 hash),用于告诉服务器我们想要启动什么类型的自动化会话。还有各种功能可以在自动化过程中修改服务器的行为。

Appium Server

 Appium是用Node.js编写的服务器。它可以从源代码构建和安装,也可以直接从NPM安装

Appium Clients

 有一些客户端程序库(分别在 Java、Ruby、Python、PHP、JavaScript 和 C# 中实现),它们支持 Appium 对 WebDriver 协议的扩展。

Appium Desktop

 Appium Desktop是一款适用于Mac,Windows和Linux的应用程序,它以美观而灵活的UI提供了Appium自动化服务器的强大功能。它基本上是Appium服务器的图形界面。您可以设置选项,启动/停止服务器,查看日志等...您也不需要使用Node/ NPM来安装Appium,因为Node运行时与Appium Desktop捆绑在一起

 注意:Appium Desktop与Appium不是一回事。Appium Desktop是Appium的图形前端,带有其他工具。


相关环境安装

  • 安装JDK

  • 安装 Android SDK   

          

1、概念

adb全称叫“android debug bridge”,翻译过来就叫调试桥,通过命令行指令,可让你与移动端设备进行相互通信。adb 命令便于执行各种设备操作(例如安装和调试应用)

它是一种客户端-服务器程序,包括以下三个组件:

1.客户端(adb Client):用于发送命令给Server。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端,作用是连接到adb server

2.守护进程 (adb daemon):运行在手机上的一个进程。守护进程在每个设备上作为后台进程运行(手机或模拟器上的守护线程)。

3.服务器(adb server):管理客户端和守护进程之间的通信。服务器在开发计算机上作为后台进程运行。

2、工作原理

   当你启动某个adb客户端时,客户端会先检查是否有adb服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后与本地TCP端口5037绑定,并监听adb客户端发出的命令- 所有 adb 客户端均通过端口 5037 与 adb 服务器通信。

然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护进程 (adbd),便会与相应的端口建立连接。

3、安装adb

1、下载SDK-Tools AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载 做安卓自动化测试时实际只需要用到SDK而已

2、配置SDK环境变量,在系统高级设置中新增path

  D:\android\sdk

  D:\android\sdk\platform-tools

下载的SDK-Tools不包含adb程序,因此需要重新下载

adb等工具在platform-tools 文件夹下,因此将下载好的platform-tools文件夹放在 android sdk 根目录下,并把 adb所在的目录添加到系统 PATH 路径里,即可在命令行里直接访问了 adb, fastboot 等工具。

查看是否安装成功

进入Windows命令行窗口输入命令

adb                     显示版本号以及详细信息

adb version               显示版本号

  • 安装Appium Client 

           在pycharm中安装Appium Client ,在命令窗口执行:pip install Appium-Python-Client

          如果报错,

Python 安装Appium-Python-Client 报错 

Python 安装Appium-Python-Client一直报错,一直到安装成功都不知道什么问题,只能记录一下安装成功的步骤。

安装命令pip install Appium-Python-Client

1、一开始我是在Python编辑器中输入命令然后运行报错

报错的截图是命令行的截图,报错内容是一致的

2、根据搜索的解决办法,让升级pip 升级命令:python -m pip install --upgrade pip

结果总是安装到一半还是报错

3、又在命令行窗口下 运行以上命令还是同样的错

4、最后仍在命令行窗口下执行,先定位到python安装的位置(如:D:\Programs\Python\Python36),然后运行命令

  1. 先运行 pip install Appium-Python-Client 报错,这块发现一个问题之前我一直是小写(appium-python-client)修改为大写
  2. 再次升级pip    运行命令 python -m pip install --upgrade pip   仍报错,发现虽然报错,但是每次安装的进度条都在增加,最后运行了2次该命令,pip升级成功

3、再次运行  pip install Appium-Python-Client  报错

4、报错后继续运行该命令: pip install Appium-Python-Client 最后安装成功

总结:

报错原因可能有3个

1、安装Appium-Python-Client时,Appium-Python-Client该命令首字母小写(appium-python-client)导致的。

2、在命令行 必须定位到 python安装的具体位置

3、如果安装过程中一直报错,可以重复执行试试看,可能网络原因。

  • 安装Appium 

  Appium可以通过以下两种方式之一进行安装:通过NPM或下载Appium Desktop,这是一种基于桌面的图形化方式来启动Appium服务器。

          1、下载Appium Desktop

             地址找到对应的版本 [ Releases · appium/appium-desktop · GitHub ]  下载成功后点击安装,根据程序提示一致下一步安装即可。

             

      


     2、启动Appium服务器 

(1)打开Appium Desktop,看到服务器启动窗口。基本选项是启动具有所有默认值的Appium服务器以及修改主机和端口的功能。start 按钮知道正在运行的是哪个版本的Appium服务器。

(2)启动服务器,点击Start启动服务器,它将在指定的主机和端口上启动,并打开一个显示服务器日志输出的新窗口


运行测试

使用 Appium 运行测试应用(测试设备:Android )

1、adb检查是否连接设备

首先,必须确保adb连接了一个且只有一个Android模拟器或设备。检查是否连接设备运行:adb devices

2、启动Appium并配置选项

1、Appium启动成功后,Appium右上角有三个选项分别为:Start inspector session 启动检查器会话、Get Raw Logs  获得原生日志、Stop Server  停止服务

2、点击Start inspector session启动检查器,选择 Automatic Server(自动化服务),填写 Desired Capabilities

     Desired Capabilities是在 JSON 对象中编码的键和值,在请求新的自动化会话时由 Appium 客户端发送到服务器,

每个Appium客户端都以特定于客户端语言的方式构建功能,但最终,它们会作为JSON对象发送给Appium。

以下为选项名称及获取方式:

(1)deviceName  : 设备名称  ,获取方式:通过adb devices获取  127.0.0.1:62001

(2)platformName : 操作系统名称   可填写:Android和IOS

(3)appPackage : 测试APP的包名 获取方式  可输入:adb shell pm list packages -3 查看包名,测试包名:com.youdao.calculator

(4)appActivity  : activity程序主入口   com.youdao.calculator.activities.MainActivity

     获取方式:adb logcat | findstr START     输入该命令,同时点击要启动的app,即可获取到包名和activity

  

 注意:Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加 . (例如 使用 .MainActivity 代替 MainActivity) 

配置成功后右侧显示对应的JSON对象。

3、点击 Start Session 启动会话 

 显示测试APP的界面,可以定位元素

4、编写测试脚本

确保已经安装Appium Client ,编写测试代码

"""
    @Time : 2022/7/22 17:03
    @Author :LH
    @desc :  测试自动启动APP
"""
from appium import webdriver
# import time


desired_caps = { }
desired_caps['deviceName'] = '127.0.0.1:62001'  # 测试设备名称
desired_caps['platformName'] = 'Android'  # 测试系统
desired_caps['plaformVersion'] = '7.1.2'  # 版本号
desired_caps['appPackage'] = 'com.youdao.calculator'  # app 包名
desired_caps['appActivity'] = '.activities.MainActivity'  # App最先启动的Activity
# 打开APP,返回webdriver对象
# 连接APP server (需要先启动appium server)
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)


print("启动成功")

PYTHON 复制 全屏

运行成功后,模拟器中自动启动测试的APP

Appium Service 中显示运行的日志

环境搭建完成,测试成功,可以进行自动化测试。

 重点:学习资料学习当然离不开资料,这里当然也给你们准备了600G的学习资料

需要的先关注再私我关键字【000】免费获取哦 注意关键字是:000

疑惑:为什么要先关注呢?   回:因为没关注的话私信回了你看不到

项目实战

app项目,银行项目,医药项目,电商,金融

大型电商项目

全套软件测试自动化测试教学视频

300G教程资料下载【视频教程+PPT+项目源码】

全套软件测试自动化测试大厂面经

python自动化测试++全套模板+性能测试

听说关注我并三连的铁汁都已经升职加薪暴富了哦!!!!

猜你喜欢

转载自blog.csdn.net/csdnchengxi/article/details/126234995