是否可以将 UITests 目标中的文件复制到应用程序的文档目录中?

2023-11-21

我的 UITests 目标中有一个示例文本文件。我想将此文件复制到应用程序的文档目录中,以便当我在应用程序中执行文件上传测试时,我可以通过文件应用程序选择它并上传它。


这可以通过使用 XCUIApplication 的 launchArguments 来实现。它需要在应用程序的 plist 中包含以下键:LSSupportsOpeningDocumentsInPlace and UIFileSharingEnabled or UISupportsDocumentBrowser.

// File: FileUploadUITests.swift
// Target: UITests
func launchApplication() {
    let fileName = "__File_12345678910.txt"
    let app = XCUIApplication()
    app.launchArguments.append("-fileUrlPath")
    app.launchArguments.append(sampleTextFileURL().path)
    app.launchArguments.append("-fileName")
    app.launchArguments.append(fileName)
    app.launch()
}

func sampleTextFileURL() -> URL {
    let bundle = Bundle(for: FileUploadUITests.self)
    return bundle.url(forResource: "text_file_example", withExtension: "txt")!
}

// File: TestHelper.swift
// Target: App
@discardableResult
func processArgumentsForTesting() -> Bool {
    if let index = ProcessInfo.processInfo.arguments.index(where: { $0 == "-fileUrlPath" }) {
        let path = ProcessInfo.processInfo.arguments[index + 1]
        let url = URL(string: path)!
        let fileName: String?
        if let index = ProcessInfo.processInfo.arguments.index(where: { $0 == "-fileName" }) {
            fileName = ProcessInfo.processInfo.arguments[index + 1]
        } else {
            fileName = nil
        }
        copyTestFileToDocumentDirectory(url: url, fileName: fileName)
        return true
    }
    return false
}

private let fileManager = FileManager.default

private var documentDirectoryURLOfTheApp: URL {
    let paths = fileManager.urls(for: .documentDirectory, in: .allDomainsMask)
    let documentDirectoryPath = paths.first!
    return documentDirectoryPath
}


@discardableResult
private func copyTestFileToDocumentDirectory(url: URL, fileName: String? = nil) -> Bool {
    let directory = documentDirectoryURLOfTheApp
    let destination = directory.appendingPathComponent(fileName ?? url.lastPathComponent).path
    let isOkay: Bool
    do {
        if fileManager.fileExists(atPath: destination) {
            try fileManager.removeItem(atPath: destination)
        }
        try fileManager.copyItem(atPath: url.path, toPath: destination)
        isOkay = true
    } catch {
        isOkay = false
    }
    return isOkay
}

// File: AppDelegate.swift
// Target: App
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    processArgumentsForTesting()
    return true
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以将 UITests 目标中的文件复制到应用程序的文档目录中? 的相关文章

  • 使用 NSString 进行 UTF8 解码

    我是 Objective C 新手 尝试使用以下示例将格式错误的 UTF8 编码 NSString 转换为格式良好的字符串苹果文档 http developer apple com library mac documentation Coc
  • 如何开始复杂级别的跨平台移动应用开发? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将自定义数据包含到 iOS 故障转储中

    你好 堆栈溢出 有一个简单的问题要问您 当我的应用程序在用户的设备上崩溃时 是否可以将自定义错误数据嵌入到自动生成的 iOS 故障转储中 例如 我的 SQlite 数据库由于某种原因无法运行 例如 数据库文件已损坏 我无法从这个错误中恢复
  • 如何制作带有 SWIFT 图像的弹出窗口

    我想知道如何制作类似于此示例的弹出窗口 原始窗口充满了按钮 选择这些按钮后将拉出我想要使用的图像 我会简单地创建一个可重用的UIView组件以及作为子视图所需的一切 例如UIImageView为了你的形象 UILabel or a UIBu
  • 有关 Swift 编译器选项的文档

    您好 我想开始在 Apple Swift 语言上运行一些微基准测试 然而 我觉得很难找到有关编译器优化的不同选项的适当文档 我读过很多关于其他人的语言微基准的问题和文章 但是如果能有一些关于该主题的可靠文档那就太好了 在最新的测试版中 使用
  • 从一个模态视图无缝翻转到另一个模态视图,而不显示纯色背景

    我的 iPad 应用程序的 UI 如下 当我点击Settings按钮 我希望对话框水平翻转以显示设置对话框 我这个工作正常 但是 当对话翻转时会显示背景颜色 如你看到的 有什么办法可以让对话框翻转时不显示该颜色块吗 我希望它看起来更加无缝
  • 每 24 小时触发一次方法

    我正在尝试每天在给定时间触发一个方法 我尝试了一些方法 但我无法真正使其发挥作用 任何意见 将不胜感激 此外 如果无论应用程序是否打开它都会触发 那就更理想了 这可能吗 UI本地通知 http developer apple com lib
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • 如何在 Swift 中从 UIColor 获取 RGB 代码(INT)[重复]

    这个问题在这里已经有答案了 我想在 Swift 中获取 UIColor 的 RGB 值 let swiftColor UIColor red 1 green 165 255 blue 0 alpha 1 println RGB Value
  • 会话重新启动后 AVcapture 会话启动缓慢

    我有一个主视图控制器 它连接到具有 avcapturesession 的第二个视图控制器 我第一次从主视图控制器转向捕获会话控制器 大约需要 50 毫秒 使用 仪器 检查 然后我从捕获会话返回到主视图控制器 然后从主控制器返回到 avcap
  • iOS 7 上 Safari 浏览器的用户代理

    我只想在带有 Safari 浏览器的 iPhone 和 iPod 中打开我的网站 对于 Chrome Dolphin 等任何其他浏览器 它不应该打开 但目前我从几乎所有设备获得相同的用户代理 对于Safari User Agent Stri
  • 如何在button.addTarget操作中发送多个按钮?斯威夫特3

    如何将button和button2发送到我的pressButton2函数中 当用户触摸按钮2时 我需要更改按钮和按钮2的颜色 当我的 button2 addTarget 看起来像这样时 我收到错误 表达式列表中存在预期表达式 import
  • 在 UIWebView 中播放 Facebook 视频

    有谁知道如何在 Facebook 上播放视频UIWebView 我的应用程序将视频上 传到 Facebook 并检索视频的网址 我想将此网址嵌入到UIWebView播放 我已经为 youtube 解决了这个问题 但没有为 Facebook
  • Objective-C 中发送给对象的消息可以被监听或者打印出来吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 中拦截方法调用 https stackoverflow com questions 1618474 intercept method call in objective c 如
  • 使用 MapKit 的地形和卫星视图

    我是 Mapkit View 的新手 当我给出没有目的地的纬度和经度时 我想显示 MapKit中是否可以通过地形 卫星视图来显示地图 有教程链接吗 我看过一些访问 Google 地图 API html 文件 的示例 有必要吗 或者您可以通过
  • Firebase ref.removeAllObservers() 是否也会递归删除子观察者?

    我看到了一些与此相关的问题 但没有一个真正证实了我的疑问 If I removeAllObservers 在父节点上 这是否也会递归地删除可能已附加在所有子节点和子节点的子节点等处的所有其他观察者 递归地 API 文档为removeAllO
  • 如何使用 RX 应用宽限时间?

    我有一个Observable
  • 当直接从 usdz 文件而不是 Reality Composer 文件加载模型时,如何在 RealityKit 中渲染阴影?

    将模型直接从 usdz 文件添加到场景锚点时 模型下方不会出现接地阴影 如果您将模型导入 RealityComposer 并添加 RealityComposer 场景 则会出现这些 但是 您可以在不使用 RC 的情况下启用接地阴影吗 我尝试
  • CoreBluetooth:检测设备超出范围/连接超时

    我正在设计一个 iOS 框架来处理多个 BLE 设备 均为同一类型 目前一切都运行良好 除了一件事 客户想要一个包含可用设备的列表 但是 我如何检测过去发现的设备何时不再可用 当我尝试连接到不再可用的设备时 会出现另一个问题 文档说 连接尝
  • SpriteKit的更新函数:时间与帧率

    一般来说 我对编程和 Spritekit 很陌生 并且有兴趣探索毫秒和帧率之间的关系 以及如何使用更新函数作为两者之间的中介 帧率与毫秒 从本质上讲 帧速率和时间之间的主要区别在于时间始终一致 而帧速率则不然 由于密集的图形程序 它可能会下

随机推荐

  • ASP.NET 回发会导致 URL 重写出现问题吗?

    我在我的 asp net 项目中使用 Intelligencia 进行 url 重写 我通过进行 URL 重写的研发解决了许多问题 但现在我遇到了一个有关页面回发的问题 页面回发将我的重写网址更改为原始网址 所以 谁能帮我离开这里 您可以在
  • MongoDB:如何查找忽略区分大小写、重音符号和百分比逻辑(%)的文档

    我想对我的 mongodb 数据库中的集合进行搜索 在我的收藏中 我有带有 名称 字段的文档 可以是如下值 i 瓜纳巴拉宫 城市宫 节日宫 等 当用户键入诸如 pala 或 pal 或 Pala 或 Pal 之类的搜索时 i 中的所有这些项
  • 如何格式化具有给定精度和零填充的浮点数?

    我已经看过几十个类似的问题 我很高兴得到另一个答案的链接 但我想在 python 3 3 中对浮点数进行零填充 n 2 02 print format n desired output 002 0200 浮点数的精度很容易 但我也无法获得零
  • 将 optgroup 标签显示为初始选项 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 是否可以在选择下拉列表中将
  • 如何在 Groovy 中同时使用 GroupBy 和 Sum?

    我有一个这样的集合 patient1 value1 patient2 value2 例如 x 1 20 28 1 11 11 2 4 60 2 3 68 I use countBy获取每个患者的计数 def counts x countBy
  • 如何修复 nginx 入口的“无法确保负载均衡器”错误

    在 Azure 上使用 helm 和静态 IP 设置新 的 nginx ingress 时 nginx 控制器永远不会分配静态 IP 它总是说
  • Spring AOP:从切入点中排除避免最终类和枚举

    我正在尝试使用 Spring AOP 来实现日志记录 我已经定义了 Pointcut execution com mycom private void framework Around framework public Object aro
  • 无法使用经过训练的 Tensorflow 模型

    我是深度学习和 Tensorflow 的新手 我将预训练的张量流 inceptionv3 模型重新训练为保存的模型 pb识别不同类型的图像 但是当我尝试使用以下代码的 fie 时 with tf Session as sess with t
  • 从 powershell 启动非阻塞进程

    我正在编写一个 powershell 脚本 需要同时将代码推送到多个 git 存储库 这是我迄今为止的脚本 param parameter Mandatory true string repoPath parameter Mandatory
  • 仅使用键盘导航 UI

    我正在尝试仅使用键盘浏览记录列表 当页面加载时 默认的 焦点 应该在第一条记录上 当用户单击键盘上的向下箭头时 需要聚焦下一条记录 当用户单击向上箭头时 应聚焦前一条记录 当用户单击 Enter 按钮时 应该将他们带到该记录的详细信息页面
  • Typeahead 将结果显示为未定义

    我正在尝试使用 typeahead 显示谷歌建议 Ajax 调用工作正常并且数据正确返回 执行前返回过程 数据 data 包含以 w 开头的字符串数组 data 沃尔玛 天气 富国银行 worldstarhiphop 沃尔格林 维基百科 白
  • Node js 请求实体太大,且无法上传 multer

    好吧 我尝试了不同的方法来上传 200k 文件 增加了限制 更改了参数 做了所有更改了 multer 的操作 Fucei 我知道我在堆栈中读到的所有内容 我在谷歌上发现基本的谷歌搜索已经完成了我的问题 而不是向上而是向下的图片就像魅力一样
  • 将 sqlite 导出到 csv

    我试图从我的 sqlite 数据库中获取数据并将其写入 csv 文件 并在完成写入后通过电子邮件发送信息 我的数据库中只有一个包含 3 列的表 我有 DBAdapter 和一个具有用户必须按下的按钮的类以便能够导出数据 这是我尝试过的代码导
  • Scala 隐式类型转换和 ==

    谁能告诉我为什么隐式类型转换不起作用 例子 class BitArray l Int v Long val length l var value v def that BitArray value that value def intege
  • Java8分组列表列表来映射

    我有一个Model and a Property具有以下签名的类 public class Property public String name public String getName return name public void
  • 如何在 h:inputText 中指定 name 属性?

    我需要渲染h inputText如下html输出
  • 在 IIS 7.5 托管的 Web Api 中找不到 HTTP 404 页面

    我有一个 Web Api 应用程序 当我使用 VS 2010 调试开发服务器对其进行测试时 它运行得非常好 但我现在将其部署到 IIS 7 5 并且在尝试访问该应用程序时收到 HTTP 404 错误 这是我的 web config
  • 如何使用代码隐藏技术在asp.net中获取当前页面的Url?

    我想获取像abc aspx这样的页面的Url 我怎样才能使用代码隐藏技术得到这个 任何想法 完整详细信息 您稍后可以使用字符串操作进行高级操作 string url HttpContext Current Request Url Absol
  • 尝试附加到小程序进行调试时出现“shmemBase_attach 失败:系统找不到指定的文件”

    我使用的是netbeans 6 1 我的 java 运行时设置中有以下内容 agentlib jdwp 传输 dt shmem 地址 jdbconn 服务器 y 挂起 n 以及 netbeans 附加对话框中的以下内容 调试器 JPDA 调
  • 是否可以将 UITests 目标中的文件复制到应用程序的文档目录中?

    我的 UITests 目标中有一个示例文本文件 我想将此文件复制到应用程序的文档目录中 以便当我在应用程序中执行文件上传测试时 我可以通过文件应用程序选择它并上传它 这可以通过使用 XCUIApplication 的 launchArgum