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 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Mac os12 下PC客户端、ios app ui自动化测试 -> 正文阅读

[移动开发]Mac os12 下PC客户端、ios app ui自动化测试

前言

windows下通过vmware安装mac os 系统

资料包:
链接:https://pan.baidu.com/s/1hvZM8EbosZxNCyjzG1KGgA
提取码:f38n
(链接失效时请私信我)

mac os下PC客户端测试环境搭建

安装chrome (为web ui自动化使用)

可能由于系统原因,谷歌浏览器会出现加载不全的情况。解决办法:系统设置关闭使用硬件加速模式。

安装为驱动chrome 的chromedriver
下载地址:https://chromedriver.chromium.org/downloads

下载后可放到//usr/local/bin目录下

由于验证问题,终端中运行命令:
cd /usr/local/bin/
xattr -d com.apple.quarantine chromedriver

安装electron

npm install electron -g

安装chromium

https://registry.npmmirror.com/binary.html?path=chromium-browser-snapshots/
下载下来可以放到//usr/local/bin目录

  • 如果浏览器打开能加载但加载不全时,进入浏览器设置-高级设置-系统,关闭硬件加速。
  • 如果浏览器完全不能显示,设置页面都显示不了,那就手动修改配置文件:
    终端命令打开文件:
    open ~/Library/“Application Support”/Chromium/Default/Preferences
    修改num_personal_suggestions的值为0。
    再次重启浏览器就可以正常显示了。

安装为驱动chromium 的chromedriver

下载

下载地址:https://chromedriver.chromium.org/downloads

我们用的版本下载地址:
https://chromedriver.storage.googleapis.com/index.html?path=89.0.4389.23/
在这里插入图片描述
下载后,双击文件,会自动解压缩。重新命名加个版本号,以区分,再放到//usr/local/bin目录下:

验证信任

终端执行命令
cd /usr/local/bin/
xattr -d com.apple.quarantine chromedriver_89

测试运行

from selenium import webdriver
options = webdriver.ChromeOptions()
options.binary_location = "/Applications/eteams.app/Contents/MacOS/eteams"
driver = webdriver.Chrome(r"//usr/local/bin/chromedriver_89",chrome_options=options)
driver.close()

在这里插入图片描述

如何知道应用使用的chrome版本

在不知道要测试的应用所用的版本情况下,随便安装一个版本,比如前面安装的版本,跑一下代码,版本不对时就会提示,信息中就有版本号。

from selenium import webdriver
options = webdriver.ChromeOptions()
options.binary_location = "/Applications/eteams.app/Contents/MacOS/eteams"
driver = webdriver.Chrome(r"//usr/local/bin/chromedriver",chrome_options=options)
driver.close()

ios app 自动化测试

环境搭建

安装xcode 8.0以上

先确认os 系统 是12.0以上,再在app store中下载即可
通过Xcode的集成工具,也能拿到设备信息和列表。命令是:instruments -s devices。或者在Xcode的Window–>Devices and Simulators也可以看到

安装 Homebrew

打开终端,运行命令:
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

如果出现网络错误,按如下方式处理:
方式一:
执行命令:
/bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”
然后选择一个下载源,可以选择中科大,接着按提示操作,注意有多次要进行输入操作(2次输入密码,2次设置下载源)。
在这里插入图片描述
在这里插入图片描述

安装python

cd ~
brew install sashkab/python/python@3.8
brew link --overwrite --force python@3.8
echo ‘export PATH=“/usr/local/opt/python@3.8/bin:$PATH”’ >> ~/.zshrc
执行命令open -e .bash_profile打开文件,添加这两行:
alias python=“/usr/local/opt/python@3.8/bin/python3.8”
alias pip=“/usr/local/opt/python@3.8/bin/pip3”
执行命令 source .bash_profile

安装git

brew install git
设置用户名和邮箱
git config --global user.name pfl
git config --global user.email ling.kaito@qq.com

设置ssh key:
ssh-keygen -t rsa -C ling.kaito@qq.com
按提示输入私钥(自己要记住,后面拉取代码时要用)后,会生成公钥
输入命令:open ~/.ssh
打开id_rsa.pub所在文件夹,打开id_rsa.pub将公钥复制出来,贴到git-settings-sshKeys中
在这里插入图片描述
设置取消代理(如果不配置,后面配置webdriveragent时运行bootstrap.sh时从git上拉取代码时会出错):
git config --global --unset http.proxy
git config --global --unset https.proxy

安装java

brew install java
brew info openjdk
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

cd /Library/Java/JavaVirtualMachines
/usr/libexec/java_home -V
获得路径后复制:
在这里插入图片描述

配置环境变量:
cd ~
sudo touch .bash_profile
/usr/bin/sudo /usr/sbin/chown 用户名 .bash_profile
sudo open -e .bash_profile

打开了文件,输入以下语句并保存:
export JAVA_HOME=上面复制的jdk路径
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAH?OME/bin:PATH
export CLASS_PATH=$JAVA_HOME/lib
在这里插入图片描述
执行命令:source .bash_profile
使配置生效。然后再执行cd $JAVA_HOME便可进入HOME目录了。

安装 libimobiledevice

brew install libimobiledevice
在这里插入图片描述

安装 carthage

brew install carthage
sudo mkdir /usr/local/Frameworks
sudo chown $(whoami):admin /usr/local/Frameworks
brew link carthage

安装 node(目的是安装 npm)

brew install node@12
node -v查看node命令是否能使用,如果不能使用按照以下方法处理:
(1)给当前用户修改brew link的权限:sudo chown -R duguwulei ( b r e w ? ? p r e f i x ) / ? ( 2 ) 重新链接到 n o d e : b r e w l i n k ? ? o v e r w r i t e ? ? f o r c e n o d e @ 12 ( 3 ) 加入 p a t h : e c h o ′ e x p o r t P A T H = " / u s r / l o c a l / o p t / n o d e @ 12 / b i n : (brew --prefix)/* (2)重新链接到node:brew link --overwrite --force node@12 (3)加入path:echo 'export PATH="/usr/local/opt/node@12/bin: (brew??prefix)/?(2)重新链接到nodebrewlink??overwrite??forcenode@12(3)加入pathechoexportPATH="/usr/local/opt/node@12/bin:PATH"’ >> ~/.zshrc

处理完成后node -v检查 node命令使用
npm -v 检查 node命令使用

安装 xcpretty

sudo gem install xcpretty
通过nmp安装 appium doctor
sudo npm install -g appium-doctor
检查appium的ios环境:appium-doctor --ios

安装 python-client

输入命令:git clone git@github.com:appium/python-client.git
拉取时会提示输入之前git配置的私钥

cd python-client
python setup.py install或python3 setup.py install(注意在此之前要先安装selenium)
通过nmp安装 wd
sudo npm install -g wd
通过nmp安装 webpack
sudo npm i -g webpack
通过nmp安装 appium-xcuitest-driver依赖
#如果已经安装,请先卸载:sudo npm uninstall appium-xcuitest-driver
sudo npm install appium-xcuitest-driver

安装其他

brew tap wix/brew
brew install applesimutils
brew install ffmpeg
npm i -g mjpeg-consumer
brew install lyft/formulae/set-simulator-location
安装adb:
brew tap facebook/fb
brew install idb-companion
pip3.6 install fb-idb
npm i -g opencv4nodejs

真机测试需要安装

安装 ideviceinstaller

brew install ideviceinstaller
通过nmp安装 iOS-deploy
sudo npm install -g ios-deploy
如果网不行就用cnpm安装:sudo cnpm install -g ios-deploy

安装usbmuxd

以便于通过 USB 通道测试 iOS 真机
brew install usbmuxd

设置钥匙串

启动台-其他-钥匙串
点击下面这个开发钥匙串,把应用程序加入进来,以后就不用每次都要输入了:
在这里插入图片描述
在这里插入图片描述

WebDriverAgent

配置

cd ~
git clone https://github.com/facebook/WebDriverAgent.git
cd WebDriverAgent
mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh
可能会出现冲突问题(如下图),原因是版本兼容问题:
在这里插入图片描述
处理方法:
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man//node.}
npm install npm@6.14.10 -g

cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/
open .
打开看下有没有安装自带的webdriveragent,有的话执行下命令:rm –rf WebDriverAgent
比如我这没有:
在这里插入图片描述
然后继续执行命令,将从git上下载下来的放到这个目录里:
ln -s ~/WebDriverAgent WebDriverAgent
(其中~/WebDriverAgent是源地址,后面的是目标地址,也就是把你 clone 的项目链接到 driver 里面)

编译WebDriverAgent

编译lib
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/390f609e8cc74bab93343f27217f424a.png
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编译runner
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装wdb到手机并运行

(1)运行wdb
如下图点击test后,手机上会多出一个webdriveragent的应用,手机设置-通用-vpn与设备管理中信任该应用。再次test,就会提示test succeed,同时手机上也会显示自动化测试中。
在这里插入图片描述
在这里插入图片描述

(2)终端执行:iproxy 8100 8100
提示waitting connection即可
(3)浏览器访问http://127.0.0.1:8100/status

usbmuxd运用

idevice_id -l

安装tidevice(mac os 和windows均可用)

为了不通过xcode启动,以兼容windows、mac os等
pip3 install tidevice

通过appium inspector测试(后未执行下去,待更新)

安装 appium1.8 release版本

appium 桌面端下载(这里的说明也很实用):
https://www.electronjs.org/apps/appium
https://github.com/appium/appium-desktop

可以终端安装也可以下载桌面端。
sudo npm install -g appium
appium 桌面端下载:https://github.com/appium/appium-desktop/releases,选择 dmg 或者 desktop 版本。
在这里插入图片描述
在这里插入图片描述

安装后执行命令:
xattr -cr “/Applications/Appium Server GUI.app”
codesign --deep --sign - /Applications/Appium\ Server\ GUI.app

安装 appium inspector

下载地址:https://github.com/appium/appium-inspector
xattr -cr “/Applications/Appium Inspector.app”
codesign --deep --sign - /Applications/“Appium Inspector.app”
打开 appium 的WebDriverAgent
(1)右键点击appium server GUI程序,点击显示包内容
(2)进入webdriveragent所在的目录:
/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
(3)双击WebDriverAgent.xcodeproj
在这里插入图片描述
在这里插入图片描述

然后编译WebDriverAgent,并安装到手机。参考前面的webDriverAgent

通过Macaca App Inspector测试(后未执行下去,待更新)

配置与安装

sudo cnpm cache clean -f(这个命令很重要,避免后续编译XCTestWD时报错)
sudo npm install -g n
macaca 命令行工具安装:npm i -g macaca-cli
安装inspector:npm install app-inspector -g
应用中含有 WebView时需安装: brew install ios-webkit-debug-proxy
cnpm i macaca-ios -g

swift工具下载(xcode12以上需要)

https://www.swift.org/download/#releases
在这里插入图片描述

打开XCTestWD

打开finder,然后按快捷键commend+shift+G,
输入/usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD,前往,用xcode打XCTestWD.xcodeproj文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过weditor测试

通过pip安装weditor

pip install weditor

运行wda

两种方式:
(1)通过xcode运行:见前文的“安装wdb到手机并运行”
(2)通过tidevice运行:
查看wda的boundId,终端执行命令:tidevice applist

运行wda:tidevice wdaproxy -B wda的boundId
例如我的是:
tidevice wdaproxy -B com.xia.WebDriverAgentRunner.xctrunner
在这里插入图片描述

浏览器访问检查wda启动

终端执行命令:iproxy 8100 8100
(将移动端口转发到PC。第一个8200为本地计算机端口,8100为移动设备端口)
浏览器访问:http://localhost:8100/status
如下图即表示成功
在这里插入图片描述

运行weditor

python -m weditor
会自动打开http://localhost:17310,如下图:
在这里插入图片描述

使用ATX配置

选择iOS
填写本地映射地址:http://localhost:8100
点击connect等待片刻展示为一个绿色叶子即为连接成功
在这里插入图片描述

点击下左下角的power,就可以出现手机的界面:
在这里插入图片描述

mac 终端常用命令

查看ip:ifconfig | grep "inet " | grep -v 127.0.0.1

mac默认常用操作快捷键

打开实用工具
shift+command+U
打开终端
shift+command+U,然后选择终端
剪切、拷贝、粘贴、撤销、全选、保存
其实就是window中的ctrl用command代替
command 是windows中的win键

Command-X:剪切
Command-C:拷贝
Command-V:粘贴
Command-Z:撤销
Command-A:全选
Command-S:保存
强制退出当前应用
option是windows中的alt键
Option-Command-Esc
全屏使用应用
Control-Command-F

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:40:09  更:2022-07-21 21:42:05 
 
开发: 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/25 5:04:20-

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