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.xdnf.cn/news/145851.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式Linux应用开发-第十四章查询方式的按键驱动程序

嵌入式Linux应用开发-第十四章查询方式的按键驱动程序 第十四章 查询方式的按键驱动程序_编写框架14.1 LED驱动回顾14.2 按键驱动编写思路14.3 编程:先写框架14.3.1 把按键的操作抽象出一个button_operations结构体14.3.2 驱动程序的上层:file_operation…

Oracle的递归公共表表达式

查询节点id为2的所有子节点的数据,包括向下级联 WITH T1 (id, parent_id, data) AS (SELECT id, parent_id, dataFROM nodesWHERE id 2UNION ALLSELECT t.id, t.parent_id, t.dataFROM nodes tJOIN T1 n ON t.parent_id n.id ) SELECT * FROM T1; --建表语句 C…

layui 树状控件tree优化

先上效果图: 我选的组件是这个: 动态渲染完后,分别在窗体加载完成,节点点击事件分别加入js: //侧边栏图标替换//layui-icon-subtraction$(function () {$(".layui-icon-file").addClass("backs&quo…

【HTML】表格行和列的合并

概述 当我们需要在 HTML 表格中展示复杂的数据时,行和列的合并可以帮助我们实现更灵活的布局和结构。通过合并行和列,我们可以创建具有更多层次和结构的表格,使数据更易于理解和分析。 在 HTML 表格中,我们可以使用 rowspan 和 …

普通用户在Linux下免密执行sudo命令,真的可以吗?

主旨 在linux的日常运维中,我们会发现,使用root用户的权限太大了,很多时候一不小心就删错了,而且恢复不回来,我们应该怎么避免呢? 我们可以使用普通用户进行服务器的登录,如果有权限不够的情况&…

C/C++跨平台构建工具CMake-----在C++源码中读取CMakeLists.txt配置文件中的内容

文章目录 1.需求描述2.需求准备2.1 创建项目2.2 编辑CMakeLists.txt文件2.3 编写C文件2.4 编译构建项目 3.需求实现3.1 在CMakeLists.txt中输出日志信息3.2 增加配置生成C头文件3.3在C 源码中访问配置的值3.4 C文件中读取CMakeLists.txt中的字符串 总结 1.需求描述 当我们开发…

HTML之如何下载网页中的音频(二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

Kafka(一)使用Docker Compose安装单机Kafka以及Kafka UI

文章目录 Kafka中涉及到的术语Kafka镜像选择Kafka UI镜像选择Docker Compose文件Kafka配置项说明KRaft vs Zookeeper和KRaft有关的配置关于Controller和Broker的概念解释Listener的各种配置 Kafka UI配置项说明 测试Kafka集群Docker Compose示例配置 Kafka中涉及到的术语 对于…

Linux—进程间通信之System V共享内存

目录 简介System V共享内存特点及用法 共享内存的创建共享内存的关联与去关联共享内存的删除共享内存通信代码实现总结 简介 System V共享内存是一种在Unix-like系统中广泛使用的共享内存机制。它是基于System V IPC(Inter-Process Communication,进程间…

SpringBoot整合阿里云OSS文件存储解决方案

🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:Sp…

毛玻璃态登录表单

效果展示 页面结构组成 通过上述的效果展示可以看出如下几个效果 底部背景有三个色块并且效果是毛玻璃效果登录表单是毛玻璃效果登录表单的周围的小方块也是有毛玻璃效果并且与登录表单有层次效果 CSS3 知识点 filter 属性backdrop-filter 属性绝对定位属性动画属性 底部背…

(高阶) Redis 7 第16讲 预热/雪崩/击穿/穿透 缓存篇

面试题 什么是缓存预热/雪崩/击穿/穿透如何做缓存预热如何避免或减少缓存雪崩穿透和击穿的区别?穿透和击穿的解决方案出现缓存不一致时,有哪些修补方案缓存预热 理论 将需要的数据提前加载到缓存中,不需要用户使用的过程中进行数据回写。(比如秒杀活动数据等) 方案 1.…

idea Springboot 校园助学贷款系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 校园助学贷款系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统 具有完整的源代码和数据库&…

Ubuntu服务器安全性提升:修改SSH默认端口号

在Ubuntu服务器上,SSH(Secure Shell)是一种至关重要的远程连接工具。它提供了一种安全的方式来远程连接和管理计算机系统,通过加密通信来确保数据的保密性和完整性。SSH协议广泛用于计算机网络中,用于远程管理、文件传…

网络-Ajax

文章目录 前言一、Ajax优点:缺点: 二、使用步骤XNLHttpRequest对象完整代码 总结 前言 本文主要记录Ajax技术的简介,以及用法。 一、Ajax Ajax是一组用于在Web浏览器和Web服务器之间进行异步通信的Web开发技术。 它代表着Asynchronous Java…

解决大模型行业落地三大挑战,华为云GaussDB向量数据库正式发布

随着AI大模型产品及应用呈现爆发式增长,新的AI时代已经到来。向量数据库可与大语言模型配合使用,解决大模型落地过程中的痛点,已成为企业数据处理和应用大模型的必选项。在近日举行的华为全联接大会2023期间,华为云正式发布GaussDB向量数据库。GaussDB向量数据库基于GaussD…

Android 使用Kotlin封装RecyclerView

文章目录 1.概述2.运行效果图3.代码实现3.1 扩展RecyclerView 3.2 扩展Adapter3.3 RecyclerView装饰绘制3.3.1 以图片实现分割线3.3.2 画网格线3.3.3空白的分割线3.3.4 不同方向上的分割线 3.4 使用方法 1.概述 在一个开源项目上看到了一个Android Kotlin版的RecyclerView封装…

Docker和Docker compose的安装使用指南

一,环境准备 Docker运行需要依赖jdk,所以需要先安装一下jdk yum install -y java-1.8.0-openjdk.x86_64 二,Docker安装和验证 1,安装依赖工具 yum install -y yum-utils 2,设置远程仓库 yum-config-manager --add-r…

26962-2011 高频电磁场综合水处理器技术条件

声明 本文是学习GB-T 26962-2011 高频电磁场综合水处理器技术条件. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了高频电磁场综合水处理器(以下简称处理器)的术语和定义、分类和型号、结构型式、 要求及检验、标志、包装和贮运…