Appium工作原理及环境的搭建(1)

发布于:2025-04-11 ⋅ 阅读:(40) ⋅ 点赞:(0)

1、Appium的介绍:

一、什么是Appium Desktop?

Appium Desktop是Appium项目的桌面版GUI工具,提供了一个友好的界面,用于启动Appium服务器、查看设备日志、与设备交互、调试自动化脚本等。相比于命令行工具,Appium Desktop让开发者更直观、更方便地管理自动化测试流程,尤其适合没有命令行经验的开发者。

二、Appium Desktop的功能

  1. 启动Appium服务器
    Appium Desktop允许你通过简单的点击操作启动Appium服务器,而不需要手动输入命令。
  2. 设备连接管理
    你可以直接通过Appium Desktop查看连接的设备或模拟器,方便进行测试。
  3. 查看日志
    Appium Desktop能够实时查看Appium服务器和设备的日志输出,帮助开发者调试和分析测试结果。
  4. Inspector
    Appium的Inspector工具让你能够查看应用界面的元素,方便生成自动化测试脚本。它支持Android和iOS平台的UI元素捕捉,自动生成XPath或UI Automator查询语句。
  5. 可视化界面
    图形化界面使得操作更加直观,适合新手入门和快速验证自动化测试脚本。

2、Appium的工作原理

appium 是一个自动化测试开源工具,支持iOS和 Android平台上的原生应用,web应用和混合应用。
● 移动原生应用:单纯用ios或者android开发语言编写的、针对具体某类移动设备、可直接被安装到设备里的应用,一般可通过应用商店获取,比如某个游戏app;
● 移动web应用:使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome),不需要下载到设备上,而是通过浏览器直接访问,比如H5九曲封神游戏;
● 混合应用:同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用,比如手机上的淘宝客户端

appium是跨平台的,支持OSX,Windows以及Linux系统。它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性
● appium支持多语言,采用C/S设计模式,只要满足client能够发送http请求给server即可



 

appium主要分为三个点:client端,server端,及测试移动设备
● client端:用各类语言写的测试脚本
● server端:我们安装appium工具的那部分,专门用来监听并接收来自client端的请求,转发请求并控制移动设备执行测试,默认开启并监听4723接口
● 移动设备:支持三类设备,我们的最终目的:在设备上自动执行指定的操作


整个过程:
第一,编写测试脚本,执行该测试脚本(相当于发送命令给server端)
第二,在某台服务器上安装appium工具(server端),开启进程(默认4723接口)进行监听;
第三,移动设备接收到server端发送过来的命令,执行指定的操作.

3、环境的搭建(MAC上)

参考:https://www.jianshu.com/p/f7cf077d9444

Mac 下 appium 自动化测试 Android 测试配置和脚本编写(四) - 简书

Mac下搭建appium+android+python自动化测试环境 - 简书

appium 1.22.0版本 Appium Inspector 连接使用教程-CSDN博客

(1)第一步:安装 nodejs 与 npm

 

安装nodejs:地址:https://nodejs.org/en/

或者命令行安装:$brew install node

  • 如果按照上述方法,使用brew安装node后,一般系统会默认安装npm,即node package manager,它是一款NodeJS包管理和分发工具,在终端中输入npm -v就可看到当前版本:

(2)安装Xcode(APP Store里就有),可以直接安装。

(3)安装ANdroid SDK,我这里是安装了Anddroid Studio, 在SDK management里勾选了SDK tool,将SDK安装好,你也可以只安装SDK。

需要配置环境:

配置 SDK 环境变量,在终端输入 open ~/.bash_profile ,在配置文件中输入
export ANDROID_HOME=/Users/lipan/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

此时验证一下 SDK 是否安装成功,在终端输入:adb version,输入后没有报错则代表成功

(4)JDK安装,需要配置环境。

  • 下载成功后,一路点击下一步,安装完成后,在终端输入java -version,如果可以查询到版本,则代表JDK安装成功
    在这里插入图片描述


                        
原文链接:https://blog.csdn.net/weixin_36192992/article/details/124260978

 source ~/.bash_profile",让环境变量生效。

但是我没成功,显示:.bash_profile:14: permission denied: /Users/yang

Mac下安装appium+python+Android sdk 环境完整流程 - 风` - 博客园

(5)安装appium

GUI server的话,直接下载,安装https://github.com/appium/appium-desktop/releases/tag/v1.17.1-1

Inspector也是下载安装,

server的无界面,需要命令行安装:npm install -g appium

(6)appium的python客户端

     pip install Appium-Python-Client

(7)android需要安装drive

appium driver install uiautomator2

(8)

验证appium的环境:

安装成功后,在终端输入 appium,可以正常运行,则代表,appium服务端安装成功

yang@yangs-MacBook-Pro ~ % appium

[Appium] Welcome to Appium v2.17.1

[Appium] The autodetected Appium home path: /Users/yang/.appium

[Appium] Attempting to load driver uiautomator2...

[Appium] Attempting to load driver xcuitest...

[Appium] Attempting to load driver espresso...

[Appium] Requiring driver at /Users/yang/.appium/node_modules/appium-uiautomator2-driver/build/index.js

[Appium] Requiring driver at /Users/yang/.appium/node_modules/appium-xcuitest-driver/build/index.js

[Appium] Requiring driver at /Users/yang/.appium/node_modules/appium-espresso-driver/build/index.js

[Appium] XCUITestDriver has been successfully loaded in 0.421s

[Appium] EspressoDriver has been successfully loaded in 0.804s

[Appium] AndroidUiautomator2Driver has been successfully loaded in 1.177s

[Appium] Appium REST http interface listener started on http://0.0.0.0:4723

[Appium] You can provide the following URLs in your client code to connect to this server:

http://127.0.0.1:4723/ (only accessible from the same host)

http://192.168.115.229:4723/

[Appium] Available drivers:

[Appium]   - uiautomator2@4.1.5 (automationName 'UiAutomator2')

[Appium]   - xcuitest@9.1.4 (automationName 'XCUITest')

[Appium]   - espresso@4.1.4 (automationName 'Espresso')

[Appium] Available plugins:

[Appium]   - images@3.1.1

[Appium] No plugins activated. Use the --use-plugins flag with names of plugins to activate

第五步:安装 appium-doctor,检查你的appium环境是否安装成功

https://blog.kelu.org/tech/2023/01/05/mac-appium-tutorial.html

最后还有两个bug有待解决:

1、JDK、SDK的环境配置后,souce 那个文件,permision denied

2、命令行执行appium:

No plugins activated. Use the --use-plugins flag with names of plugins to activate

脚本的学习

App自动化测试之Appium环境部署后续问题及解决方案_appium no driver-CSDN博客

Mac 下 appium 自动化测试 Android 测试配置和脚本编写(四) - 简书

Mac 下 appium 自动化测试 Android 测试配置和脚本编写(四) - 简书

Appium无线自动化实用教程_no plugins activated. use the --use-plugins flag w-CSDN博客