IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 〖Python APP 自动化测试实战篇③〗- Mac系统下 appium 环境的配置搭建 -> 正文阅读

[Python知识库]〖Python APP 自动化测试实战篇③〗- Mac系统下 appium 环境的配置搭建

万叶集
🎉 隐约雷鸣,阴霾天空。 🎉
🎉 但盼风雨来,能留你在此。 🎉


前言
? 作者简介:渴望力量的哈士奇 ?,大家可以叫我 🐶哈士奇🐶 ,一位致力于 TFS - 全栈 赋能的博主 ?
🏆 CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 🏆
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬
🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦


专栏系列(点击解锁)学习路线指引知识定位
🔥Python全栈白皮书🔥 零基础入门篇 以浅显易懂的方式轻松入门,让你彻底爱上Python的魅力。
语法进阶篇 主要围绕多线程编程、正则表达式学习、含贴近实战的项目练习 。
自动化办公篇 实现日常办公软件的自动化操作,节省时间、提高办公效率。
自动化测试实战篇 从实战的角度出发,先人一步,快速转型测试开发工程师。
数据库开发实战篇 更新中
爬虫入门与实战 更新中
数据分析篇 更新中
前端入门+flask 全栈篇 更新中
django+vue全栈篇 更新中
拓展-人工智能入门 更新中
网络安全之路 踩坑篇 记录学习及演练过程中遇到的坑,便于后来居上者
网安知识扫盲篇 三天打鱼,不深入了解原理,只会让你成为脚本小子。
vulhub靶场漏洞复现 让漏洞复现变得简单,让安全研究者更加专注于漏洞原理本身。
shell编程篇 不涉及linux基础,最终案例会偏向于安全加固方向。 [待完结]
WEB漏洞攻防篇 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
渗透工具使用集锦 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
点点点工程师 测试神器 - Charles 软件测试数据包抓包分析神器
测试神器 - Fiddler 一文学会 fiddle ,学不会倒立吃翔,稀得!
测试神器 - Jmeter 不仅是性能测试神器,更可用于搭建轻量级接口自动化测试框架。
RobotFrameWork Python实现的自动化测试利器,该篇章仅介绍UI自动化部分。
Java实现UI自动化 文档写于2016年,Java实现的UI自动化,仍有借鉴意义。
MonkeyRunner 该工具目前的应用场景已不多,文档已删,为了排版好看才留着。


开始使用 “APPIUM” 编写脚本之前,必不可少的步骤就是搭建 “APPIUM” 这样一套测试框架的环境配置。相对于前面学习的接口测试、WEB自动化测试的环境搭建来说,“APPIUM” 的环境搭建相对复杂一些。

需要配置以下几种环境:

  • 安卓环境的搭建
    • Java 环境的安装与配置
    • Android SDK 环境的搭建

  • APPIUM 本身工具所依赖的一些工具包
    • 比如 Node.js
    • 比如 APPIUM 工具自身

🐳 APPIUM 简介

Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等,是当下互联网企业实现移动自动化测试的重要工具。

Appium、Appium-Desktop、Appium Client的区别:

  • 1、Appium:是Appium体系的核心,其本身也是一个web接口服务,也被成为appium server

  • 2、Appium-Desktop:是为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发的GUI工具

  • 3、Appium Client:appium只是一个web接口,接受http请求,各个语言可以自己封装发送请求

🐳 安装 APPIUM 前需要准备的环境

🐬 检查Java 环境的安装与配置

? java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.292-b10, mixed mode)


如果没有安装的话,参考 Mac 环境下 Java JDK 的安装与环境变量配置详解(已完美解决) 一文

🐬 检查homebrew是否安装

? brew -v
Homebrew 3.5.2
Homebrew/homebrew-core (git revision 49d84ebfb3f; last commit 2022-06-15)
Homebrew/homebrew-cask (git revision 763a50c0b5; last commit 2022-06-15)


Homebrew是一款 macOS 平台下缺失的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。如果没有安装的话,参考 Mac 安装 homebrew 详细教程 一文

🐬 检查 Android SDK 环境是否安装

测试Android App需要 Android SDK 。

? adb version
Android Debug Bridge version 1.0.41
Version 33.0.2-8557947
Installed as /usr/local/bin/adb


如果没有安装的话,参考 Mac环境下安装配置android sdk 一文

🐬 安装 Xcode

测试iOS App需要。
打开Finder,在Applications文件夹下,看是否有Xcode.app程序。如果没有,则需要安装。
下载地址:https://developer.apple.com/downloads/
安装方法同所有的dmg包的安装方法一样。

🐳 APPIUM 环境搭建

Mac 系统搭建 appium 环境有两种方法:

1.直接下载appium.dmg 运行即可(载dmg包安装的方法,很简单,和安装所有的dmg包一样,不多介绍了。)
2.使用 npm 命令安装,接下来主要介绍下通过 npm 安装的方法。

具体的安装步骤是下面这样的:

> brew install node        # 安装 APPIUM 的依赖环境 "node.js" ;直接安装的node中包含了npm,且路径正确,不存在关联错误的情况
> npm install -g cnpm --registry=https://registry.npm.taobao.org# 由于国内的墙太高,所以我们需要使用npm的淘宝镜像
> cnpm install -g appium   # 安装 appium
> appium -v				   # 查看 appium 的版本,验证是否安装成功
> pip3 install Appium-Python-Client	  # 安装 appium client  
> npm install wd		   # 两种安装 appium client 方式任选其一

# -------------------------------------------------------------------------------------------------------------
# 检查 appium 是否安装成功
> npm install appium-doctor -g 	# 安装 appium-doctor ; "appium-doctor" 是检测 appium 是否安装成功的命令
> appium-doctor 		   # 检测appium 是否安装成功,当出现的全部是 "√" 号的时候,则表示安装完毕
> appium &                 # 启动 appium ,当终端出现,

PS:安装 "node.js" 的及后续安装 appium 的时候,可能会出现的两种比较坑情况。

  • 先升级homebrew:brew update,以便能够安装最新版的node。我第一遍安装的时候,就是因为没有升级brew,所以通过brew install node安装的node版本比较低,导致用npm安装appium提示" ‘appnium’ is not in the npm registry."
  • 由于国内的墙太高,所以我们需要使用npm的淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 。镜像地址也不是一成不变的,大家需要自己去核实镜像地址的有效性,有的时候当你们看到这个地址的时候,其实地址已经失效了。

🐬 安装 node.js

通过 brew 在终端 执行 brew install node 安装 node.js

安装完成之后终端输入 node -v 检查 node.js 是否安装成功。



🐬安装 appium server

利用 node 包含的 npm 在终端执行 npm install -g appium 安装 appium

安装完成之后终端输入 appium -v 检查 appium 是否安装成功。



🐬 安装 Appium-Python-Client

在终端执行安装命令 pip3 install Appium-Python-Client



🐬 安装 appium-doctor 用于检测 appium 的安装是否成功

终端执行安装命令 npm install appium-doctor -g

安装完成后,终端执行 appium-doctor 检测 appium 的安装完整性。


执行 "appium-doctor" 检查 appium 的安装完整性


吐槽一句,"Xcode" 这玩意儿好像是12.8G的硬盘空间,太扎心了。

!!!这里注意!!!这里注意!!!这里注意!!!

上图中的 “adb, android, emulator could NOT be found in /usr/local/Caskroom/android-sdk!” 是个大坑!必须要解决掉!!!否则在后续运行脚本的时候会报错!导致脚本运行失败。

先说一下上图中的这个报错的原因,之所以报错就是因为 "adb, android, emulator " 这三个可执行文件没有在?“/usr/local/Caskroom/android-sdk” 路径下造成的。(这个路径是我的 android sdk 环境变量 路径,也可能是因为我设置了这个环境变量的缘故)

So… 尝试解决一下吧!先来看看当前的 “adb, android, emulator” ?的路径分别在哪里。终端执行命令?“which adb android emulat” 或者 “where adb android emulator”

在分别查看 “adb, android, emulator” 软连接的真实路径 “ls -al /usr/local/bin/adb && ls -al /usr/local/bin/android && ls -al /usr/local/bin/emulator”



这里可以看到 adb 的路径 platform-toolsandroidemulator 的路径 tools 与我们的环境变量配置的是一致的。既然如此,直接将 platform-toolstools 复制或者移动到 android-sdk 路径下看看是否能解决。



mv /usr/local/Caskroom/android-platform-tools/33.0.2/platform-tools /usr/local/Caskroom/android-sdk/

mv /usr/local/Caskroom/android-sdk/4333796/tools /usr/local/Caskroom/android-sdk/

where adb android emulator


再次执行 appium-doctor 检查 appium 的环境


OK,完美解决!!


启动 appium ,执行命令 appium 或者 appium &

这两个启动方式的区别在于 appium 的启动方式可以通过 ctrl + c (mac 是 control + z) 强制关闭 ; 而 appium & 则不能通过该命令方式强制关闭。



🐳 安装 APPIUM 桌面程序(即Appium-Desktop)

访问下载链接地址:https://github.com/appium/appium-desktop/releases/ 下载最新版的安装包。




至此,APPIUM 环境搭建完成!

拜了个拜!



  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:00:05  更:2022-06-29 19:01:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年3日历 -2024/3/29 13:17:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码