当前位置: 代码网 > it编程>编程语言>Java > iOS客户端自动化UI自动化airtest+appium从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图

iOS客户端自动化UI自动化airtest+appium从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图

2024年08月02日 Java 我要评论
1. 安装jdk 选择jdk8 如果下载高版本 可能不匹配会失败下载.dmg文件jdk环境变量配置找到java home配置内容如下:#JAVAqa@mac ~ % source ~/.bash_profile 刷新配置文件如果安装了多个jdk 则删除$JAVA_HOME 显示2. 下载airiest3. 下载appium下载 Appium-Server-GUI-mac-1.22.3-4.dmg4. MAC修改终端左侧显示的用户名。

android客户端自动化ui自动化airtest从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图-csdn博客

避坑系列-必读:

不要安装ios-tagent ,安装appium -这2个性质其实是差不多的都是为了安装wda。注意安装appium最新版本,安装完,git下载最新版本的wda(v8.1.0版本-source压缩包解压,代码替换原git下载的wda文件夹下的全部文件 否则各种源码语法报错

一、基础环境

1. 安装jdk 选择jdk8 如果下载高版本 可能不匹配会失败

下载.dmg文件 

苹果电脑 | macos | jdk1.8 | 环境变量配置_jdk1.8 mac-csdn博客

java downloads | oracle

jdk环境变量配置

找到java home

qa@mac ~ % cd /library/java/javavirtualmachines/jdk-1.8.jdk/contents/home

qa@mac ~ % vim .bash_profile

配置内容如下:

#java

java_home=/library/java/javavirtualmachines/jdk-1.8.jdk/contents/home

path=$java_home/bin:$path:.

classpath=$java_home/lib/tools.jar:$java_home/lib/dt.jar:.

export java_home

export path

export classpath

qa@mac ~ % source ~/.bash_profile  刷新配置文件

qa@mac ~ % java -version       

如果安装了多个jdk 则删除 

sudo rm -rf /library/java/javavirtualmachines/jdk-22.jdk/contents/home 

$java_home   显示

/library/java/javavirtualmachines/jdk-1.8.jdk/contents/home

2. 下载airiest

airtest project

3. 下载appium

https://github.com/appium/appium-desktop/releases

下载 appium-server-gui-mac-1.22.3-4.dmg

4. mac修改终端左侧显示的用户名

sudo scutil --set hostname tmp

tmp 就是你要修改的名字, 比如, 你要改成abc, 那么 执行下面的命令

sudo scutil --set hostname mac 

重启终端生效

5. 下载xcode 

打开app store搜索xcode

6. 安装homebrew

/bin/zsh -c "$(curl -fssl https://gitee.com/cunkai/homebrewcn/raw/master/homebrew.sh)"

下载源选择阿里巴巴

mac安装brew保姆级教程_mac brew-csdn博客

7. 安装python3.6.8,版本太高会导致airtest安装失败,下载地址:https://www.python.org/downloads/release/python-368/

我安装的python releases for macos | python.org 3.9.0版本

添加环境变量,执行open ~/.bash_profile,加入

     alias python="/python安装路径/python3.6"
     alias pip="/python安装路径/pip3.6"

     保存后执行source ~/.bash_profile && python -v && pip -v检测安装版本是否成功

如遇:排除错误 pip command not found
1. 检查是否安装了pip

在mac和linux上,您可以使用以下命令检查是否安装了pip

python3 -m pip --version 
如果pip安装正确,输出如下

pip 24.0 from /users/qa/library/python/3.9/lib/python/site-packages/pip (python 3.9)

如果未安装pip,您可以按照此处相应操作系统的安装步骤进行操作

2. 将pip升级到最新版本

如果pip仍然不工作,请尝试将pip升级到最新版本:

python3 -m pip install --upgrade pip

8. 安装opencv:执行pip3 install opencv-contrib-python

9. 安装poco:执行pip3 install pocoui

10. 下载carthage

brew install carthage


二、ios端环境配置

参考资料:ios真机安装webdriveragent图文详解-腾讯云开发者社区-腾讯云

1. 安装ios-tagent

git仓库下载代码

git clone https://github.com/airtestproject/ios-tagent.git 

下载上面的代码后,找到webdriveragent.xcodeproj这个文件,各版本位置可能会不一样,如果我提供的路径找不到,可以搜索下文件。/users/qa/desktop/2024/code/ios-tagent

2. 打开项目后,更改红框中两个文件的相关信息,team可以使用个人苹果id账号,bundle identifier需要更改一下,不重复就可以了,我是直接在后面加点后缀

3. 如果是个人免费版的证书,还需要修改下webdriveragent的bundleid,随便加后缀,不要跟别人重复就好,这里建议可以加当前时间戳,比如:202106290903,如果是付费版开发者证书则不需要这步操作。

4. 模拟器-更改完成后,手机用数据连接电脑

点击xcode顶部工具栏的product——destination,点击自己的手机设备

如遇提升下载ios17.4 则下载 更新成功后(8个g左右),正常

5. integrateapp选择机型 点击product-run 出现如图模拟器界面

6. 真机-用数据线连接iphone至mac

选择项目,在菜单栏 product -> scheme -> webdriveragentrunner

选择设备,在菜单栏 product -> destination -> 选择你的真机

启动test,在菜单栏 product -> test

7. 各种报错分析:如遇buildfailed 第54行报错

报错信息如下:parameter of overriding method should be annotated with __attribute__((noescape))

解决办法:在参数前加 __attribute__((noescape))

修改前- (void)measureblock:(cdunknownblocktype)arg1;  

修改后- (void)measureblock:(cdunknownblocktype)__attribute__((noescape))arg1;  

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

8. 再次执行product -> test 弹框报错

previous preparation error: developer mode disabled. to use 越狱兔的iphone12 for development, enable developer mode in settings → privacy & security.

解决办法:ios开发之——developer mode disabled-csdn博客

原因:iphone设备开发者模式已关闭
打开iphone的设置,搜索隐私与安全性-安全性-开发者模式 默认为关闭 打开

将开发者模式打开后,设备重启

重启设备后,输入密码开启,查看开发者模式是否打开

如遇the request to open "com.facebook.webdriveragentrunner20240401yutu.xctrunner" failed.

去iphone -vpn与设备管理-信任证书

xcode中设备恢复正常状态,再次执行product -> test 弹框报错

iphone端出现白色文字automation running  hold both  volume buttons to stop

xcode控制台出现日志:

test case '-[uitestinguitests testrunner]' started.

    t =     0.00s start test at 2024-03-27 15:04:36.614

    t =     0.00s set up

serverurlhere->http://169.254.168.151:8100<-serverurlhere

每次build iphone端会自动安装webdriveragent

9. 各种报错分析-thread 1: "-[__nsxpcinterfaceproxy_xctmessagingchannel_runnertodaemon _xct_exchangeprotocolversion:reply:]: unrecognized selector sent to instance 0x28146df90"

无解 看起来是源码的问题。。。。。。

参考资料(一)app自动化测试环境搭建(mac+ios+airtest )_automation running-csdn博客

换一种方式安装appium

10. 安装appium 安装最新版本

releases · appium/appium-desktop · github

安装打开appium

11. 打开appium-webdriveragent 我的路径如图

/applications/appium server gui.app/contents/resources/app/node_modules/appium/node_modules/appium-webdriveragent

双击打开webdriveragent.xcodeproj

在xcode配置 更改红框中两个文件的相关信息,team可以使用个人苹果id账号,bundle identifier需要更改一下,不重复就可以了,我是直接在后面加点后缀2024yutu

12. 连接iphone手机重复步骤678

开启ui automation,位置在:iphone手机-设置-开发者-启用ui自动化

13. 安装appium:npm install -g appium

如果有问题那也需要安装 appium docker

安装完毕运行appium

默认端口为4723

在浏览器/airtest输入网页:http://127.0.0.1:4723/status

14. 如遇xcode build失败

解决办法-20240327亲测有效 

[ios自动化]xcode build时报错: cannot link directly with dylib/framework_cannot link directly with dylib/framework, your bi-csdn博客

解决办法如下:

a. 如果你的appium版本是最新的,直接跳到第3步

否则卸载appium desktop(finder/application里找到app后直接拖到垃圾桶)

b. 下载安装最新的appium desktop: releases · appium/appium-desktop · github

c. finder/application里找到最新安装的appium app, 右击选择show package contents,定位到webdriveragent.xcodeproj所在路径:

参考:/applications/appium server gui.app/contents/resources/app/node_modules/appium/node_modules/appium-webdriveragent

d. 下载最新的weddriveragent: ​​​​​​releases · appium/webdriveragent · github

下载source.code即可

把下载好的weddriveragent里的全部内容替换到第三步的路径下(原内容可全部删除)

替换

e. 文件夹双击webdriveragent.xcodeproj, xcode自动打开。build成功

iphone安装完webdriveragentrunner-runner后 在vpn与设备管理信任开发者app 每次test(build)iphone都会重新安装wda

15. 通过 homebrew 安装iproxy

brew install libimobiledevice

16. 运行iproxy

iproxy 8100 8100

启动成功后,可以试着在浏览器访问 http://127.0.0.1:8100/status ,如果访问成功并且可以看到一些json格式的手机信息,即表示启动成功 如果返回为空,可能是因为未安装appium导致的(暂不确定)

启动airtestide,devices-ios app connection处填写 http://127.0.0.1:8100 或者启动appium后填写http://127.0.0.1:4723/status 均可。点击connect

连接成功后airtest assistant处点击录制即可针对操作进行脚本录制

17. 如果更换iphone设备或者断开连接 重新连接手机后需要先启动xcode 

18. 如遇报错 xcode exiting due to ide disconnection. 重启iphone 重启xcode再次test iphone输入密码即可 product-test成功后,iphone显示界面如下

19. 安装appium-inspector。 git官网下载最新包

打开appium server gui 点击搜索按钮 跳转到appium inspector的git官网github - appium/appium-inspector: a gui inspector for mobile apps and more, powered by a (separately installed) appium server

下载appium-inspector安装包

releases · appium/appium-inspector · github


                        

参考资料

app自动化之airtest(一)---环境搭建mac版&安卓真机连接_mac可以跑android手机机进行airtest测试吗-csdn博客

app自动化之airtest(二)---ios真机调试_ios-tagent真机调试-csdn博客

https://blog.51cto.com/u_16213625/8154325

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com