模拟 API 请求 Xcode 7 Swift 自动化 UI 测试

2023-12-25

在 Swift 2.0 中编写自动化 UI 测试时,有没有办法模拟请求。据我所知,UI 测试应该独立于其他功能。有没有办法模拟服务器请求的响应,以便测试依赖于响应的 UI 行为。例如,如果服务器关闭,UI 测试仍应运行。简单的示例,对于登录,模拟如果密码失败,则 UI 应显示警报,但是,如果登录成功,则应显示下一页。


在当前的实现中,这不是directly可以通过 UI 测试实现。框架直接连接到代码的唯一接口是通过它的启动参数/环境 http://masilotti.com/xctest-documentation/Classes/XCUIApplication.html#//api/name/launchArguments.

您可以让应用程序在此上下文中查找特定的键或值并切换某些功能。例如,如果MOCK_REQUESTS键已设置,注入MockableHTTPClient而不是真实的HTTPClient在你的网络层。我写过关于设置参数 http://masilotti.com/ui-testing-xcode-7#launching-the-app-xcuiapplicationNSHipster 有一篇关于如何阅读它们 http://nshipster.com/launch-arguments-and-environment-variables/.

虽然并不理想,但从技术上讲,通过一些跑腿工作就可以实现您正在寻找的目标。

这是一个用于 UI 测试的存根网络数据教程 http://masilotti.com/ui-testing-stub-network-data/我放在一起。它会引导您完成启动和运行该程序所需的所有步骤。

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

模拟 API 请求 Xcode 7 Swift 自动化 UI 测试 的相关文章

  • 如何制作带边框的半圆角(顶角圆角)文本视图?

    How to make a half rounded Top corner rounded textview or tableview with the borderwidth and borderColor 这并不完美 但你可以这样做 i
  • 在 MLMediaLibrary 中加载媒体源时出错

    我在加载时遇到错误mediaSourcesMac OS X 中的属性 我正在尝试使用以下方法获取 Apple Photos 源MLMediaLibrary class 我的应用程序是沙盒的 并且具有图片文件夹的只读权限 我收到错误 MLMe
  • Metallib:读取模块时出错:无效的位码签名

    我有以下 Filter metal 文件 include
  • 在 Swift 中使用 CIColorMatrix 过滤器

    以下 Swift 函数应该使用指定的 tintColor 对灰度图像 greyImage 进行着色 import UIKit func colorizeImage greyImage UIImage tintColor UIColor gt
  • 当 TestFlight/IAP 总是给出“无连接”错误时,如何接受“Apple 媒体服务条款和条件”?

    我正在通过 TestFlight 测试带有应用内购买的应用程序 最近 当我尝试测试购买应用内购买时 开始出现提示 Apple Media Services 条款和条件已更改 随后总是出现错误 无连接 互联网连接工作正常 如何解决这种情况并恢
  • 如何在应用程序中从 Xcode 的“支持文件”组访问文件?

    我有一个应用程序 现在我几乎已经完成了 在数据输入流程结束时发送电子邮件 发送两个 pdf 文件 其中一个是根据输入的数据生成的 另一个是静态文件 在每个实例中都相同 第一个 pdf 生成正常 它已保存到应用程序的 文档 文件夹中 并且我已
  • 如何检查 iOS/iPadOS 是否启用了深色模式?

    从 iOS iPadOS 13 开始 提供深色用户界面风格 类似于 macOS Mojave 中引入的深色模式 如何检查用户是否启用了系统范围的深色模式 For iOS 13 您可以使用此属性来检查当前样式是否为深色模式 if availa
  • iOS 应用程序中的屏幕共享? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想与运行相同应用程序的其他设备共享
  • AVAssetExportSession 前置摄像头方向错误

    我仅在前置摄像头中使用 AVAssetExportSession 导出的视频方向错误 我按照这个教程https stackoverflow com a 35368649 3764365 https stackoverflow com a 3
  • iOS Javascript DOM“冻结?”

    这里有几个问题 有没有办法阻止 iOS 在滚动时冻结页面上的 javascript 当您在另一个选项卡中或切换应用程序时 iOS 是否会冻结 JavaScript iOS 上还有其他主要的 javascript 限制吗 iOS 6 x 会暂
  • 捕获 SwiftUI 中的错误

    我在某些视图中有一个按钮 它调用 ViewModel 中可能引发错误的函数 Button action do try self taskViewModel createInstance name self name catch Databa
  • 有什么方法可以限制核心数据中的重复条目吗?

    我一直在尝试在核心数据中添加对象 所以 我希望它不应该允许核心数据存储中出现重复的条目 怎么做 这是我与保存数据相关的代码 IBAction save id sender if name text isEqualToString addre
  • iPad 上的 Cordova 锁定方向失败

    我正在使用 cordova 3 5 0 0 2 6 最后一个稳定版本 我在锁定 iPad 设备的方向时遇到问题 在 iPhone 上它可以正常工作 但在 iPad 上方向未锁定 我想锁定整个应用程序而不仅仅是页面 这是我当前的 config
  • 某些网站如何在 iOS Safari 中内嵌播放视频?

    非常令人难以置信 因为我认为所有视频都可以在常规野生动物园中扩展为全屏播放 例如检查一下 https entertainment theonion com the onion reviews rogue one 1819596116 htt
  • 如何实现pickerView类的didSelectRow方法?

    我以前从未使用过选择器视图 我认为它类似于表视图类的 func tableView tableView UITableView didDeselectRowAtIndexPath indexPath NSIndexPath 方法 但是我无法
  • 如何以编程方式添加 NSMenu?

    我没有使用storyboard和xib 只使用了代码 我想以编程方式添加 编辑 菜单 我的问题是 1 如何显示 编辑 菜单 评论问题1 需要输入什么代码 2 Swift 提供了复制和粘贴等操作吗 class TestManager NSOb
  • Monotouch全局异常处理

    我在野外发现了一只令人讨厌的虫子 但我无法确定它的具体情况 有没有办法拥有全局 Try Catch 块 或者有办法处理 Monotouch 中未处理的任何异常 我可以包起来吗UIApplication Main args 在 try cat
  • 从 UITableViewCell 隐藏删除按钮

    当我的表视图处于编辑模式时 会出现红色 按钮 当用户点击其中之一时 会出现 删除 按钮 当用户点击 删除 时 我首先检查一些内容 部分在线 可能不允许此删除 当不允许删除该单元格时 如何以动画方式隐藏 删除 按钮并让红色 按钮再次变成 所以
  • 立即调用 Swift UIView animateWithDuration 完成闭包

    我期望在指定的持续时间后调用此 UIView 动画的完成闭包 但它似乎立即触发 UIView animateWithDuration Double 0 2 animations self frame CGRectMake 0 self bo
  • 在 UIAlertController 的文本字段中选择文本

    我需要在 UIAlertController 出现后立即选择文本字段的文本 但是 我在标准 UITextField 中选择文本的方式在这里不起作用 这就是我尝试过的 但我似乎无法让它发挥作用 let ac UIAlertController

随机推荐

  • ASP.NET MVC Remote属性方法参数总是传递null

    我有这个AdvertiserNameAvailable远程验证属性正在使用的方法 问题是AdvertiserNameAvailable正在调用而不将输入值传递给方法Name范围 当我进入该方法的调试时 我看到Name参数总是null pub
  • 如何在 GitHub Actions 中缓存 dotnet 安装

    我的 CI 管道中有两个步骤 一是缓存dotnet的安装路径 二是dotnet安装 并使用 windows 2019 图像 但系统永远不会识别 net 7可用 它始终安装 net 6 0 缓存还显示缓存了 200MB 但可能某些 PATH
  • 如何处理 iPhone 中 uitableviewcell 上每个按钮的切换按钮

    我的代码运行良好 但仅适用于单个单元格 当我定义 5 行时 它仅适用于最后一个单元格 如果我点击 1 个单元格 则值displayimage仅在最后一个单元格上 它不显示我单击的位置以及我单击的单元格如何处理每个单元格的toogle按钮更改
  • 为什么我要使用 Enumerable.ElementAt() 而不是 [] 运算符?

    这似乎是一个愚蠢的问题 但我还没有找到答案 所以就在这里 在这两种情况下 如果您未能检查集合的边界 您将收到 超出范围 异常 这只是编码风格偏好吗 如果有人需要一个例子 List
  • 制作平台游戏,需要方法停止运行

    我正在用 Flash 制作一个平台游戏 我有一个目标类 该类包含目标精灵的代码 当你击中它时 它会继续游戏的下一部分 在目标构造函数内部 添加了2个事件监听器 它们如下 addEventListener Event ADDED beginC
  • 如何在Boost Spirit中设置最大递归

    使用 boost spirit 如果我有递归规则来解析括号 rule
  • Java - 等待和notifyAll

    当你对一个没有等待的对象调用notifyAll方法时会发生什么 应该有例外还是正常情况 正如您在这里所看到的 对未等待的对象调用notifyAll 不会产生任何效果
  • 如何在 Symfony2 数据库查询中使用 MATCH

    我正在为我的 Symfony2 项目构建一个搜索功能 并为其编写了 SQL 如下所示 SELECT dlc title dlc description dlc keywords FROM ShoutMainBundle Dlc dlc WH
  • 测量外部 CDN 资源的访问者 HTTP 缓存命中率

    我的网站使用几种常见的 CDN 托管资源 例如bootstrap css jquery js and fontawesome css 是否可以通过 JavaScript 获取信息 我的网站访问者在其 Web 浏览器中是否有这些资源的热缓存
  • 以编程方式更改本地安全策略

    我想在 C 中更改本地安全策略 交互式登录 不需要 ctrl alt del 我怎样才能做到这一点 我找到了我必须在注册表中更改的答案 Windows 注册表编辑器版本 5 00 HKEY LOCAL MACHINE SOFTWARE Mi
  • Git 子模块工作流程问题

    最近 我们的 Git 存储库遇到了很多问题 我们是应用程序之间总共 4 个共享存储库的 git 子模块的用户 例如 存储库 网站 共有 3 个子模块 submodule vendor api path vendor api url emai
  • ionChange - 仅检测 Ionic 2 中从视图到模型的变化

    我有一个 Ionic 2 应用程序 允许安排通知 提醒功能 嗯 要求是 当用户进入提醒页面时 应该检查是否有 已保存提醒 如果有已保存的提醒 我目前正在保存此信息 存储 时钟应显示并保存提醒时间 切换开关处于活动状态 否则 时钟应显示当前时
  • 如何消除 WinForms 滚动动画中的抖动现象?

    我正在用 C 编写一个简单的控件 其工作方式类似于图片框 只不过图像不断向上滚动 并从底部重新出现 动画效果由计时器 System Threading Timer 驱动 该计时器从缓存的图像 分两部分 复制到隐藏缓冲区 然后在其 Paint
  • Gradle:“无法缓存配置缓存状态”

    Configuration cache state could not be cached field actions from type org gradle api DefaultTask error writing value of
  • Java 中的 IEqualityComparer 接口

    更具体地说 我想要一个接口来比较只能比较相等性的对象 例如复数 但没有全序 它应该有 注意它只返回一个布尔值是 否 boolean Equals T object1 T object2 和一个哈希码函数 这样 当我使用对象 例如收集 相等
  • 如何使用 Unix 或 Windows 风格的换行符 [重复]

    这个问题在这里已经有答案了 我正在阅读stdin有时有 UNIX 风格的换行符 有时是 Windows 风格的换行符 如何使用任一类型的换行符 假设您知道会有换行符 解决方案是消耗一个字符 然后决定 10 LF Unix style new
  • Mongo 查询数组中的嵌套字段。

    我有一个具有以下结构的文档 id fkwjefioew genres id fewkjfewf name Shooter 我需要能够使用 mongo 的 in 进行查询 以查看文档是否具有传递参数的流派名称 例如 如果我将 Shooter
  • Jest.js 错误:“已收到:序列化为同一字符串”

    我在这个测试中遇到了一个奇怪的问题 交易测试 js import Deal from src models Deal import apiProducts from mocks api products describe Deal gt d
  • Python 浮点精度格式说明符

    假设我有一些 32 位数字和一些 64 位数字 gt gt gt import numpy as np gt gt gt w np float32 2 4 gt gt gt x np float32 4 555555555555555 gt
  • 模拟 API 请求 Xcode 7 Swift 自动化 UI 测试

    在 Swift 2 0 中编写自动化 UI 测试时 有没有办法模拟请求 据我所知 UI 测试应该独立于其他功能 有没有办法模拟服务器请求的响应 以便测试依赖于响应的 UI 行为 例如 如果服务器关闭 UI 测试仍应运行 简单的示例 对于登录