XCUITest - 任务终止应用

Posted

技术标签:

【中文标题】XCUITest - 任务终止应用【英文标题】:XCUITest - Task-kill App 【发布时间】:2017-10-16 01:40:48 【问题描述】:

正在尝试寻找一种解决方案来自动执行任务 - 杀死 XCUITest 的应用程序...

static let springboard:XCUIApplication? = XCUIApplication(bundleIdentifier: "com.apple.springboard")

class func killApp(app:XCUIApplication) -> Bool

    app.terminate()
    if let springboard = springboard
    
        springboard.activate()
        XCUIDevice.shared.press(.home)
        XCUIDevice.shared.press(.home)
        Thread.sleep(forTimeInterval: 1.0)
        let appTask = app.otherElements["appID"]
        if appTask.isHittable
        
            appTask.swipeUp()
            XCUIDevice.shared.press(.home)
            return true
        
        else
        
            print("App task is not hittable!")
            return false
        
    
    return false

但它不起作用。两个主页按钮的点击似乎不被识别为快速双击。有谁知道一个可行的解决方案?

【问题讨论】:

【参考方案1】:

不要依赖 Springboard 和双击试试这个(我假设你试图关闭应用程序而不是卸载它)

closeApp(background: Bool = false) 
if (background) 
     XCUIDevice.shared().press(.home)
 else 
 application.terminate()

【讨论】:

【参考方案2】:

快速双击主页按钮仍然无法实现。

【讨论】:

以上是关于XCUITest - 任务终止应用的主要内容,如果未能解决你的问题,请参考以下文章

XCUITest - 如何访问 XCUITest 中的应用设备令牌以触发推送通知,但无需在应用代码中设置任何 UIView?

为啥 XCUITest 对 iOS 应用程序运行太慢?

XCUITest - 如何在应用程序运行时禁用 Wi Fi?

有没有办法使用 XCUITest 测试快速操作?

XCUITest 到后台应用程序返回错误的 XCUIApplication.State

XCUITest 等待未经测试的应用程序达到空闲状态