当文本字段为空时,如何在 Xcode UI 测试中测试 UITextField?

2024-01-10

我正在做一个UITest在 Xcode 中。当我记录测试时,它工作正常,但当我运行测试时,它会出现错误。

这些是发生错误的代码行:

XCUIElement *clearTextTextField = [app.textFields containingType:XCUIElementTypeButton 
                                                      identifier:@"Clear text"].element;
[clearTextTextField typeText:@"sheffield"];

错误说

UI 测试失败 - 未找到文本字段的匹配项

我想这是因为我的文本字段没有任何初始字符串,并且测试人员找不到带有初始字符串的文本框"Clear Text".

我看了以下内容youtube 上的教程。 https://www.youtube.com/watch?v=YD-BjP2VUdY

演示者代码结果很好,因为他的文本字段有一个初始字符串。 (至少我认为问题是这样的)

有没有办法使测试适用于空文本字段?


有几种方法可以做到这一点。

  1. 如果文本字段有占位符文本,您可以使用占位符文本来查找文本字段。

  2. 您可以使用elementBoundByIndex方法获取索引处的文本字段。即,如果这是应用程序中唯一的文本字段,您可以使用

    XCUIApplication().textFields.elementBoundByIndex(0) 
    

获取文本字段。 (或者当时您需要获取该特定文本字段的任何查询)

  1. 您可以在代码或情节提要中设置辅助功能标识符来查找文本字段。

在设置辅助功能标识符之前使用选项 2 是很好的选择,只要您的 textField 始终可以通过相同的查询找到。此外,如果多个文本字段同时具有相同的占位符文本,选项 1 将失败,因此选项 2 更具吸引力。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当文本字段为空时,如何在 Xcode UI 测试中测试 UITextField? 的相关文章

  • 为什么在授予用户权限时,UIUserNotificationType.None 在当前设置中返回 true?

    我正在编写一种方法来检查当前用户设置是否包含某些通知类型 当检查当前设置是否包含 UIUserNotificationsType None 时 无论授予权限还是拒绝权限 它都会返回 true 有谁知道这是为什么吗 func register
  • Swift Codable 将空 json 解码为 nil 或空对象

    这是我的代码 class LoginUserResponse Codable var result String var data LoginUserResponseData var mess String public class Log
  • Xcode 调试器 - 如何在 CPU 指令级别单步执行

    这绝对是令人着迷的 但我对编译器如何巧妙地将 C 代码转换为机器指令感到着迷 由于我对某些指令有点模糊 因此如果我能够在单个机器指令级别 低于 C 语句级别 可能会生成多个 CPU 指令 观察已编译程序的操作 将会很有帮助 换句话说 我可以
  • Parse.com 和 Facebook 登录,运行无限循环

    我将 Parse 和 Facebook iOS SDK 都更新到了最新版本 当我尝试使用 Facebook 登录时 我的应用程序崩溃了 从调试器中我可以看到它正在无限循环中调用 3 4 个方法 我的登录代码如下所示 void openSes
  • 从命令行调试 iOS 应用程序构建

    我正在通过命令行构建 iOS 应用程序 但在调试它时遇到问题 如果我使用 XCode 进行构建 它会让我在设备上 构建和调试 而不会出现任何问题 但现在 我不知道如何使用 gdb 在设备上启动它并逐步执行它 如果我尝试 添加自定义目标 可执
  • 从 iOS 应用程序内的 Junos Pulse 获取用户凭据

    我正在通过 Junos Pulse 在 iPad 中建立 VPN 连接 以进入我组织的 Intranet 谁能告诉我是否有任何 iOS api 或 SDK 可用于获取在 iOS 应用程序内的 Junos pulse 中输入的用户凭据 Jun
  • React Native glog iOS:未知类型名称“_START_GOOGLE_NAMESPACE_”

    我已经构建了一个 React Native 的 Android 项目 它运行良好 然后我开始了 iOS 部分 我正在使用react native cli 2 0 1react native 0 60 4和Xcode 10和Mac OS Mo
  • 错误域=AVFoundationErrorDomain代码=-11814“无法记录”

    它不断给我错误 错误域 AVFoundationErrorDomain代码 11814 无法记录 我不确定问题是什么 我试图在拍照后计数器达到 1 时录制声音 static int counter counter will always b
  • iOS 滚动视图允许滚动过去的内容

    我正在努力优化我的应用程序以适应横向和较小的屏幕 我主要使用滚动视图来实现这一点 在我的其中一个视图中 我有一个容器视图 当我在故事板中的设备之间切换时 这个容器视图看起来很完美 容器视图映射到具有滚动视图的视图控制器 该滚动视图的顶部 底
  • iOS 中的构建对象文件扩展名是什么?

    当我在项目中构建java对象类时 将创建带有 class扩展名的构建文件 并且人类不可读 快速构建文件怎么样 example car java gt build gt car class 构建后会是什么 car swift gt build
  • 以编程方式触发iOS摇动事件

    如何以编程方式触发 iOS 中的摇动事件 我尝试过以下方法 但它总是崩溃 void shake NSLog TEST UIMotionEventProxy m NSClassFromString UIMotionEvent alloc in
  • 关于窗口层次结构的警告

    我的调试器中出现这样的警告 这是什么意思 Warning Attempt to present
  • 防止 AlertView 被解雇

    任何人都可以帮助我防止在其按钮单击事件上解雇警报视图吗 我有一个 textview 作为我的alertView 的子视图 如果 textview 值为 nil 我不想关闭它 因为这是一个非常老的问题 但我得到了一个解决方案 并且如果其他开发
  • iphone:如何停止快门动画?

    我有两个问题 1 我想知道如何在相机加载时停止快门动画 我正在使用 UIImagePickerController 我已经参考了堆栈溢出的许多答案 但没有成功 2 我在相机中有一个自定义按钮 使用cameraOverlayView并想通过单
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • WhatsApp 显示警告“此项目无法共享。请选择其他项目。”对于 iOS 应用程序。

    我正在开发一个 iOS 应用程序 在该应用程序中 我有社交共享功能 并且社交共享功能使用深度链接来共享 URL 该网址共享对于所有应用程序都运行良好 除了WhatsApp 它会显示一个警报弹出窗口 此项目无法共享 请选择其他项目 以下是我的
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • 苹果推送通知在生产中不起作用

    我们完全陷入困境 请帮忙 我和我的团队制作了一个 iPhone 应用程序 这是我们第一次在 iOS 上尝试 一切都很好 直到我们提交应用程序并在应用程序商店上可用为止 推送通知服务无法正常工作 我在网上搜索并尝试根据人们的建议仔细检查我们的

随机推荐

  • 将数据帧转换为另一个数据帧,将复合字符串单元格拆分为单独的行[重复]

    这个问题在这里已经有答案了 我希望使用 Python 将数据帧 df1 转换为 df2 我有一个使用循环的解决方案 但我想知道是否有更简单的方法来创建 df2 df1 Test1 Test2 2014 2015 2016 Present 1
  • AS3 克隆影片剪辑

    下面是我尝试克隆影片剪辑的代码 但它不起作用 如果代码工作正常 我们应该看到两个圆圈 The original MovieClip var circle MovieClip new MovieClip circle graphics beg
  • 如何从 .kube/config 中设置的当前上下文获取命名空间

    我正在尝试以编程方式在 Go 中获取 kube config 中当前上下文的命名空间 到目前为止 我尝试的是这些模块 k8s io client go tools clientcmd k8s io client go kubernetes
  • Laravel 使用 ssl 包含 css、js

    我刚刚在我的网络服务器上安装了 SSL 证书 但我的 laravel 设置遇到了一些问题 我在用着 HTML style css style css 包含 css 和 js HTML script js jquery js 虽然当我使用 h
  • 适用于 Mac OSX 的 IPython3

    我安装了 Ipython 但它在 python 2 7 5 上运行 我还安装了 python 3 3 如何进行更改以使 Ipython 在 python 3 3 而不是 2 7 5 上运行 你需要安装pip对于 Python 3 这就像访问
  • SharePoint 站点定义

    我基于发布门户创建了一个简单的站点定义 每次我想使用模板创建网站集时 都会收到以下错误消息 您选择的模板无效或无法找到 我不使用任何自定义功能 仅使用发布门户 site def 的默认功能 有什么提示吗 有一个错误日志 但它只提供了上面的信
  • 在 R 中使用 Quantmod 进行下载-保存-加载往返

    我想使用 quantmod 下载数据 将它们保存到文件中以便稍后加载 下面一段R代码 library quantmod symbols lt c DEXUSUK STLFSI GDP tmpdir lt tempdir getSymbols
  • 这些 RubyInstaller 2.4 组件有什么作用?

    几天之前 Windows 版 RubyInstaller 2 4 发布 https rubyinstaller org 2017 05 25 rubyinstaller 2 4 1 1 released html 安装后 它会问我以下问题
  • Neo4j over Bolt 协议具有非常高的延迟

    我正在将 Neo4j 用于一个项目 使用此处找到的 NET 官方 Neo4j 驱动程序 https www nuget org packages Neo4j Driver https www nuget org packages Neo4j
  • array.contains 的 jquery 版本

    jQuery 可以测试数组中是否存在对象 作为核心功能的一部分或通过可用的插件 另外 我正在寻找类似的东西array remove 这将从数组中删除给定的对象 jQuery 可以帮我处理这个问题吗 jQuery inArray http d
  • 进程已完成,退出代码 -1073741515 (0xC0000135)

    我正在运行一个 python 脚本 它曾经可以工作 现在甚至在我的另一台笔记本电脑上也可以 但不能在我当前的计算机上 我只是得到错误代码 Process finished with exit code 1073741515 0xC00001
  • 如何使用内联函数声明字典

    在将函数用作字典的元素之前 是否必须正式定义该函数 def my func print my func d function my func 我宁愿内联定义该函数 我只是想输入我想要做的事情 但是 python 语法的空白策略使得在字典中定
  • Web 应用程序的容器管理安全性

    我对容器管理的安全性完全陌生 需要一些帮助来在我的 Web 应用程序中配置它 我想限制对我的 Web 应用程序中的 jsp 的访问 这就是我在 web xml 中配置安全性的方式
  • Hbase 和 BigTable 有什么区别?

    谁能告诉我 Apache HBase 数据库和 Bigtable 之间有什么区别 或者它们是相同的吗 如果有的话 哪一个支持关系 如果他们是大搜索者 有什么区别 它们很相似 但又不一样 Bigtable 最初于 2005 年发布 但并未发布
  • RStudio 全局设置(选项)导出/导入

    我想导出 导入 RStudio 全局选项 通常可以在 RStudio 的 工具 gt 全局选项 中找到并设置这些选项 理想情况下 我可以运行一行代码 将现有设置保存到文件中 然后运行另一行代码以从此文件加载这些设置 这些选项包括 GUI 的
  • Git rebase 失败,“您对以下文件的本地更改将被合并覆盖”。没有本地改变吗?

    这是我尝试将 bugfix 分支合并到 master 分支以准备将其推向上游的记录 自从创建 bugfix 分支以来 已经有一些上游更改被拉入 master 并且现在拒绝 rebase 它引发错误的文件在打开时没有差异 没有添加 删除或重命
  • tomcat 重新启动 => 找不到 SessionFactory [uuid=...,name=null]

    继续解决这个情况 https stackoverflow com questions 6506476 java lang illegalstateexception unread block data 我已经更新了hibernate ond
  • 如何在 C# 中将 XMLSerialize 用于 Enum 类型属性?

    我有一个简单的枚举 enum simple one two three 我还有一个具有 type 属性的类simple 我尝试用以下属性装饰它 XmlAttribute DataType int 但是 当我尝试使用序列化它时 它失败了Xml
  • 错误:连接失败(没有到主机的路由)

    上下文 我有一个 Xamarin Android 应用程序 它连接到 WebAPI 以获取不同的信息 问题 尝试访问服务器时出现以下错误 System Net Http HttpRequestException 发送请求时发生错误 gt S
  • 当文本字段为空时,如何在 Xcode UI 测试中测试 UITextField?

    我正在做一个UITest在 Xcode 中 当我记录测试时 它工作正常 但当我运行测试时 它会出现错误 这些是发生错误的代码行 XCUIElement clearTextTextField app textFields containing