当前位置: 首页 > news >正文

iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone

文章目录

      • 一、环境准备
        • 1.1、软件环境
        • 1.2、硬件环境
        • 1.3、查看版本
      • 二、安装WDA过程
        • 2.7、构建失败,这类错误有很多,比如在选择开发者账号后,就会提示:Failed to register bundle identifier表示应用唯一注册失败
        • 2.9、第二个错误,完全是无妄之灾,IntegrationApp是啥?

一、环境准备

1.1、软件环境
  • VMware+macos big sur虚拟机
  • Xcode版本:12.5.1
  • iPhone版本:16.5
  • MacOS版本:11.6
  • WDA下载facebook
1.2、硬件环境
  • iphone 8p 真机
  • 台式或笔记本电脑(肯定不是MacOS系统)
1.3、查看版本

1、macOS Big Sur版本型号
在这里插入图片描述

2、Xcode版本型号
在这里插入图片描述

下载WebDriverAgent,过程略!链接地址中间的appium可以是facebookarchive。

二、安装WDA过程

1、进入WebDriverAgent项目根目录,双击打开WebDriverAgent.xcodeproj,然后在Xcode中的TARGETS里选中WebDriverAgentLib,按照下图数字序号依次点击,注意步骤4要开启自动管理签名。
在这里插入图片描述

2、在Team选项那里添加帐户然后选中,这里的账户可以是个人免费账户也可以是付费开发者账户;
在这里插入图片描述

3、添加账号,注册个人免费账号,没有appleId账号的需要自己,点我去注册
在这里插入图片描述

4、还在同一个项目中,需要注意的是咱们主体是webdriveragentrunner,设置build settings,修改bundleId,它的是唯一;
在这里插入图片描述

5、出现这一步,是usb数据线连接iphone真机设备,VMware本身是不支持与宿主机共用usb,所以需要选择iphone连接的是宿主机还是虚拟机
需要安装Unlocker插件,解锁vmware能支持安装MacOS系统
在这里插入图片描述

6、选中项目>可以看到iOS Device真机,下面的Simulators表示是Xcode提供的虚拟机型号
在这里插入图片描述

2.7、构建失败,这类错误有很多,比如在选择开发者账号后,就会提示:Failed to register bundle identifier表示应用唯一注册失败

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

8、怎么解决?回到第四步,正确选择Bundle settings设置应用的bundle identifier;再回来错误就消失了。
在这里插入图片描述

错误消失术
在这里插入图片描述

2.9、第二个错误,完全是无妄之灾,IntegrationApp是啥?

在这里插入图片描述

10、在构建时错误,消除这个错误的做法同第四步,将这个应用的bundle身份ID修改一下,建议使用时间戳
在这里插入图片描述

错误消失术
在这里插入图片描述

11、选择product scheme和在targets中选择想过一样
在这里插入图片描述

12、回顾错误是如何消失的
在这里插入图片描述

13、回到第六步,可以开始build
在这里插入图片描述

14、一般先建议build for testing
在这里插入图片描述

15、如果build test成功,就可以product–>Test
在这里插入图片描述

16、提示构建成功,如果失败呢?[实际可能已经安装在iphone真机了,需要去iphone设置相信账号]
在这里插入图片描述

在iphone真机会有弹窗提示
在这里插入图片描述

设备–通用–VPN与设备管理
在这里插入图片描述

信任开发者账号
在这里插入图片描述

再次构建,就会成功了
在这里插入图片描述

17、每次构建前,可以修改bundle identifier,表示可以在设备中可以安装多个同名APP(可能在数量方面有所限制)
在这里插入图片描述

18、屡试不爽,构建成功。
在这里插入图片描述

同一个真机设备,可以安装多个WDA服务端[相对于主机它就是服务端]
在这里插入图片描述

19、哦豁,出现了限制,就是咱们的是个人免费账号,结果安装个数超限了。
在这里插入图片描述

安装WDA成功到设备!

http://www.lryc.cn/news/179732.html

相关文章:

  • IDEA的Maven换源
  • 步进电机只响不转
  • 使用select实现服务器并发
  • 【Python】基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作
  • 力扣 -- 718. 最长重复子数组
  • MP、MybatisPlus、联表查询、自定义sql、Constants.WRAPPER、ew (二)
  • Ubuntu服务器安全性提升:修改SSH默认端口号
  • 十七,IBL-打印各个Mipmap级别的hdr环境贴图
  • 7、Docker网络
  • MySQL学习笔记23
  • Java基础---第十篇
  • NLP 03(LSTM)
  • Python集成开发环境(IDE):WingPro for Mac
  • [Machine learning][Part3] numpy 矢量矩阵操作的基础知识
  • 【中秋国庆不断更】HarmonyOS对通知类消息的管理与发布通知(上)
  • 喜讯 | 怿星科技获评SAE“优秀核心零部件企业”,测试软件平台工具广受赞誉
  • 基于Java的医院预约挂号系统设计与实现(源码+lw+部署文档+讲解等)
  • 福利!这两款我自制的免费配色工具你领到了吗?
  • Docker 网桥、docker0 网桥和 --net host:平台差异、使用方式和场景介绍简介:
  • 【深度学习】系统架构工具链的学习笔记
  • Linux 网络编程
  • SpringBoot读取配置的方式
  • c# winform程序,DispatcherTimer被调用延迟,响应间隔长
  • 【智能家居项目】裸机版本——项目介绍 | 输入子系统(按键) | 单元测试
  • 算法练习8——有序三元组中的最大值
  • git创建
  • yolov8 opencv模型部署(python版)
  • Simulink仿真封装中的参数个对话框设置
  • 【C++】class的设计与使用(十)重载iostream运算符
  • Java使用Scanner类实现用户输入与交互