Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于检查项目是否存在的UI测试在Swift中不起作用_Swift_Xcode_Unit Testing_Ui Testing - Fatal编程技术网

用于检查项目是否存在的UI测试在Swift中不起作用

用于检查项目是否存在的UI测试在Swift中不起作用,swift,xcode,unit-testing,ui-testing,Swift,Xcode,Unit Testing,Ui Testing,我浏览了十几篇不同的教程、文章等,但似乎没有什么对我有用。我在Swift中附加了一个简单UI测试的代码,以查看抽屉的某个部分是否存在。知道为什么我的测试失败了吗(不是因为我发现了一个bug,而是因为我的UI测试写得不正确)?谢谢 import XCTest var app: XCUIApplication! class MyAppUITests: XCTestCase { override func setUp() { super.setUp() c

我浏览了十几篇不同的教程、文章等,但似乎没有什么对我有用。我在Swift中附加了一个简单UI测试的代码,以查看抽屉的某个部分是否存在。知道为什么我的测试失败了吗(不是因为我发现了一个bug,而是因为我的UI测试写得不正确)?谢谢

import XCTest
var app: XCUIApplication!


class MyAppUITests: XCTestCase {

    override func setUp() {
        super.setUp()
        continueAfterFailure = false
        app = XCUIApplication()
        app.launchArguments.append("--uitesting")
        app.launch()
    }

    func testDrawerDisplaysPrivacyAgreement() {   app.navigationBars["MyApp.MainView"].buttons["burgerButton"].tap()

        XCTAssertTrue(app.tables.staticTexts["Privacy Policy"].exists)


    }

    override func tearDown() {
        super.tearDown()
    }
}
我解决了我的问题

我所做的:

  • 我删除了MyAppUITests的旧版本
  • 从现在起,我添加
    let app=xguiapplication();app.launch()
    每次创建测试时
下面的测试成功通过!这对我来说非常合适。:)

import XCTest
var app: XCUIApplication!


class MyAppUITests: XCTestCase {

    override func setUp() {
        super.setUp()
        continueAfterFailure = false
    // Delete these. Doesn't work if put here and not in each test
    //    app = XCUIApplication()
    //    app.launchArguments.append("--uitesting")
    //    app.launch()
    }

    func testDrawerDisplaysPrivacyAgreement() {   
//  ** These two should be written in each test 
// **
        let app = XCUIApplication()
        app.launch()
// **

       let burgerButtonMenu =         app.navigationBars["MyApp.MainView"].buttons["burgerButton"]
        burgerButtonMenu.tap()
        let privacy = app.tables.staticTexts["Privacy Policy"]

        if  burgerButtonMenu.isEnabled && burgerButtonMenu.isSelected {
            XCTAssertTrue(privacy.exists)


    }

    override func tearDown() {
        super.tearDown()
    }
}