| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> IOS自动化测试环境搭建(Python & Java) -> 正文阅读 |
|
[移动开发]IOS自动化测试环境搭建(Python & Java) |
一、前言? ? IOS的App自动化测试与Android的一样,也可以用appium来进行。但是IOS自动化依赖苹果的osx系统、Xcode构建等,且封闭的系统需要苹果开发者账号才可以驱动真机。Appium的环境配置有点麻烦,可能大部分时间都在处理各种稀奇古怪的报错,甚至于需要重装系统。 ? ? 本文旨在记录配置过程(MacOS系统的Python和Java环境配置也有记录),给同道中人提供参考,让大家少走弯路。 二、环境依赖1、环境依赖项
2、环境需求与支持
三、环境配置1、xcode安装? ? Xcode是运行在操作系统Mac OS X上的集成开发工具(IDE),iOS自动化测试使用Xcode主要用于将绑定了苹果开发者证书的WebDriverAgent打包至iOS手机。 安装方式有两种,根据你的系统版本来选择。 方式一:Mac平台的App Store安装? ? 通过App store安装的Xcode是最新版本,需要最新版macOS系统才能兼容。如果已经升级至最新系统,可以直接在App store下载安装。最好不要升级至最新系统,可能遇到其他兼容性问题。 方式二:离线包安装? ? 你的macOS系统不是最高版本的时候,要保证最低版本需求:macOS在10.12以上,xcode在8.1以上。 离线包下载地址: https://developer.apple.com/cn/support/xcode/ (可以选择版本) ? ? 离线包的Xcode版本选择,最好是根据你的系统版本发布时间来定,选发布时间相近的版本。我的版本是:macOS 11.3.1 、Xcode12.5 2、Git安装? ? 安装的Xcode自带Git程序,一般Xcode安装好后不需要再单独安装Git,验证Git环境即可。如果后面的环境依赖安装出现关于Git的报错,需要更新Git,或者卸载重新安装。 验证安装:git --version 验证git连接:ping github.com 能够连接成功时,终端显示: 安装命令:brew install git 更新Git:brew upgrade git 3、Homebrew安装(用brew来安装依赖)? ? Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。类似apt-get、yum。 安装途径有两种:国外源和国内园,推荐使用 国内源,我使用国外源没成功过。 方式一(国外源):官网: https://brew.sh/ 在官网首页复制下面的安装命令,在终端执行命令安装:
验证安装:brew -v 更新Homebrew命令:brew update && brew upgrade && brew clean 方式二(国内源):上面的官网安装方法失败率很高,可以采用国内源安装。 homebrew国内源安装方法,终端执行下面的命令:
终端运行时,根据提示操作: 安装结束后重启终端 或者 运行 source /Users/sinosun/.bash_profile 否则可能无法使用。 终端执行:brew update 保持最新版 最后验证安装:brew -v 得到版本号 参考链接: https://blog.csdn.net/ljl6158999/article/details/118144440 (macOS升级后安装报错解决办法) 4、npm和nodejs安装? ? Appium是通过Node.js开发的http服务器,用来创建和控制WebDriver的session,因此需要安装Node.js。npm是Node.js的包管理工具,随同Node.js一起安装。 4.1、(方式一:brew在线安装)【我的nodejs版本是:16.6.0】 安装命令:brew install node 此方法安装的是最新版本 验证安装:node -v 得到版本号 npm -v 得到版本号 其它在线安装方法:(指定版本安装) 终端执行命令行找到自己合适的node版本 :brew search node 查询显示最高可以安装 node14 版本 安装命令:brew install node@版本号 (会将npm和nodejs一起安装) 绑定安装的node,命令:brew link --overwrite --force node@版本号 验证安装:node -v 得到版本号 npm -v 得到版本号 卸载node: brew uninstall node@版本号 --force 例如:安装的是12.18.1,卸载命令:brew uninstall node@12 --force 4.2、(方式二:离线包安装) brew在线安装是从官网下载,速度慢且成功率低,可以通过下载离线包安装解决。 nodejs官网下载地址: https://nodejs.org/en/ 点击“Current”区域稳定版。 安装包下载并安装后,同样在终端中输入node -v 、 npm -v 验证 4.3、cnpm国内源安装 ? ? NPM安装插件是从NPM官网下载对应的插件包,该网站的服务器在国外,经常会出现下载缓慢或出现异常,这时便需要找到另外的方法提供稳定的下载,这个方法就是CNPM。阿里巴巴的淘宝团队把NPM官网的插件都同步到了在中国的服务器,提供给我们从这个服务器上稳定下载资源。 CNPM同样是NPM的一个插件,要安装的话需要在终端执行以下命令: sudo npm install -g cnpm --registry=https://registry.npm.taobao.org 验证安装:cnpm -v 4.4、npm安装插件常见报错 ? ? 在终端通过npm安装插件时,前面加上“sudo”可以减少报错几率。(加上sudo后,命令以系统管理者的身份执行) ? ? 如果通过npm安装插件时,出现“npm ERR!”提示,表示安装失败。前缀加上sudo也报错,可以尝试国内源cnpm安装,只需要将命令中的npm换成cnpm。 如果终端安装过程中出现“npm WARN”提示,可以忽略。 5、libimobiledevice安装? ? libimobiledevice是一个使用原生协议与苹果IOS设备进行通信的库,相当于Android的adb。appium连接iOS设备必需要此依赖库,通过这个库Mac os可轻松获得iOS设备信息。支持iOS10以上系统 安装命令:brew install --HEAD libimobiledevice 卸载:brew uninstall --ignore-dependencies libimobiledevice 常用命令: 1、idevice_id -l 显示当前所连接的设备[udid],包括 usb、WiFi 连接 2、ideviceinfo 获取设备信息 3、idevicedate 获取设备时间 4、idevicename 获取设备名称 5、idevicescreenshot 截图 6、ideviceinstaller -u [udid] -i [xxx.ipa] #xxx.ipa:安装文件路径 7、ideviceinstaller -u [udid] -U [bundleId] #bundleId:应用的包名 检查安装: 报错参考: https://www.cnblogs.com/zhiaijingming/p/11005330.html 6、idevicesinstaller安装ideviceinstaller是一个管理连接设备的工具,与ios-deploy、Android的adb功能类似。 ? ? ideviceinstaller的功能与libimobiledevice差不多,都可以获取iOS设备的udid、安装App、卸载App、获取bundleid等,但ideviceinstaller仅支持iOS9以下系统环境,libimobiledevice支持iOS10以上系统环境。 安装命令:brew install ideviceinstaller 常用命令: 1.ideviceinstaller -l 打印app列表 7、ios-deploy安装ios-deploy是一个使用命令行安装ios app到连接设备的工具 原理是根据os x命令行调用系统底层函数,获取连接的设备、查询/安装/卸载app iOS10以上系统使用appium,需要依赖ios-deploy 安装:sudo npm install -g ios-deploy 或 sudo cnpm install -g ios-deploy 安装指定版本的ios-deploy参考: https://www.jianshu.com/p/a100914ec784 ios-deploy常用命令: 1.ios-deploy -c 查看连接的设备(包括通过usb和wifi连接的) 2.ios-deploy -c --no-wifi 查看通过usb连接的设备 3.ios-deploy --id [udid] --bundle [xxx.app] 安装应用到指定设备(其中xxx.app是Xcode编译后的ipa的路径) 4.ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] 卸载指定设备上的应用(根据包名,也就是bundleId) 5.ios-deploy --id [udid] --list_bundle_id 查看指定设备上安装的所有应用(包括系统应用和第三方) ? ? 例如: ios-deploy --id 770dfe115807e7d494b4721b1e4ebd6ecb9424d3 --list_bundle_id 6.ios-deploy --id [udid] --exists --bundle_id [bundleId] 检查指定设备上是否安装了某个应用 ? ? 例如: ios-deploy --id 0420781d4e43f1f99935513c91e9b816f4dddc24 --exists --bundle_id com.facebook.taozhen 注意:Xcode是通过离线包安装的,安装ios-deploy时会报错: ? ? 这个是由于Xcode没有设置版本的原因导致的,设置方法:进入Xcode偏好设置–>点击locations–>Comand Line Tools栏选择版本号, 然后重新执行安装命令。如下图: 检查安装: 安装错误解决参考: https://blog.csdn.net/weixin_44643020/article/details/88226097 8、Carthage安装? ? Carthage是一款iOS项目依赖管理工具,与cocoapods功能相似,可以帮助管理第三方依赖,类似于Java的maven。它会把第三方依赖编译成framework,以framework形式将第三方依赖加入到项目中进行使用和管理。自动化测试用到的WebDriverAgent通过Carthage管理项目依赖。 安装命令:brew install carthage 检查命令:carthage version |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/23 23:51:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |