ios – 将应用程序发送到后台并从XCTest中的最新版本重新启动它

ios – 将应用程序发送到后台并从XCTest中的最新版本重新启动它,第1张

概述我正在寻找我的问题的解决方案,我需要将我的应用程序发送到后台并在特定时间间隔后从最近重新启动它. 在仪器UIAutomation中使用deactivateAppForDuration()来实现这一点. 有人知道如何在XCTest中实现这一目标吗? 如果这样可行,那就不好了,因为我还没有测试过,但它值得一试.如果没有别的,它应该让你知道在哪里看. XCUIApplication类提供了以编程方式终止 我正在寻找我的问题的解决方案,我需要将我的应用程序发送到后台并在特定时间间隔后从最近重新启动它.
在仪器UIautomation中使用deactivateAppForDuration()来实现这一点.
有人知道如何在XCTest中实现这一目标吗?解决方法 如果这样可行,那就不好了,因为我还没有测试过,但它值得一试.如果没有别的,它应该让你知道在哪里看.

XCUIApplication类提供了以编程方式终止和启动应用程序的方法:https://developer.apple.com/reference/xctest/xcuiapplication

XCUIDevice类允许您模拟设备上的按钮按下:https://developer.apple.com/reference/xctest/xcuidevicebutton

您可以将它们与UIControl和NSURLSessionTask一起使用来暂停您的应用程序.

使用Swift 3的这个过程的一个例子可能看起来像这样(Swift 2及以下语法可能略有不同):

func myXCtest() {    UIControl().sendAction(#selector(NSURLSessionTask.suspend),to: UIApplication.shared(),for: nil)    Timer.scheduledTimer(timeInterval: 5.0,target: self,selector: #selector(launchApp),userInfo: nil,repeats: false)   }func launchApp() {    XCUIApplication().launch()}

另一种方法可能是简单地执行主页按钮按下,然后在计时器通过后重新启动应用程序:

func myXCTest {    XCUIDevice().press(XCUIDevicebutton.Home)    Timer.scheduledTimer(timeInterval: 5.0,repeats: false)     }

这些方式都不能满足您的要求,也不能完美地运作,但希望它能为您提供一个起点.您可以使用它并找到适合您的解决方案.祝好运!

总结

以上是内存溢出为你收集整理的ios – 将应用程序发送到后台并从XCTest中的最新版本重新启动它全部内容,希望文章能够帮你解决ios – 将应用程序发送到后台并从XCTest中的最新版本重新启动它所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1104641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存