2017-07-31 92 views
0

我寫了簡單的測試,添加輔助功能的Xcode的,運行它:Xcode的UI測試無能爲力

import XCTest 

class MyUITests: XCTestCase { 
    var app: XCUIApplication! 

    override func setUp() { 
     super.setUp() 
     continueAfterFailure = false 

     app = XCUIApplication() 
     app.launch() 
    } 

    func testWrongUsernameOrPassword() { 
     print("Debug something") 
     let signInWindow = app.windows["Sign In"] 

     signInWindow.textFields["Your email address"].typeText("Incorrect username") 

     let passwordTextField = signInWindow.textFields["Password"] 
     passwordTextField.click() 
     passwordTextField.typeText("Incorrect password") 
     signInWindow.buttons["Login"].click() 

    } 

} 

軟件啓動,然後什麼也沒有發生。沒有崩潰,沒有調試字符串。沒有。

僅在調試輸出:

Test Case '-[MyUITests.MyUITests testWrongUsernameOrPassword]' started. 
    t =  0.00s  Start Test at 2017-07-31 22:28:01.794 
    t =  0.00s  Set Up 
    t =  0.01s   Launch test.com.MyApp 
+0

是您的測試或UI測試目標的測試類的一部分?你的測試目標是否指定了他們正在測試的模塊? – NRitH

+0

@NRitH對於第一個問題 - 是的。 >你的測試目標是否指定了他們正在測試的模塊?我不知道這是什麼 – Arti

+0

我創建了測試文件,當我添加UI測試目標到我的項目時生成的文件 – Arti

回答

0

你看不到自己沒有看到你的「調試東西」輸出的原因是因爲你看UITest棧幀,切換到您的應用程序的堆棧幀查看您的打印輸出。使用Xcode的選擇堆棧幀彈出窗口,如下圖所示例子:

enter image description here

+0

斷點不工作太... – Arti

+0

我剛在我的項目中創建了一個MyUITests類,並將它的代碼複製到它。測試使它測試了錯誤的UsernameOrPassword()和點擊打印(「Debug something」),但如預期在下一行失敗,因爲我的項目沒有「登錄」窗口。不解決你的問題,但至少你知道你的代碼不是問題。 – Norman

+0

有一件事要看:輸出顯示「MyUITests.MyUITests testWrongUsernameOrPassword」,我期望它看起來更像「YourAppNameUITests.MyUITests.testWrongUsernameOrPassword」。您可能需要檢查您的UITest目標PRODUCT MODULE NAME。祝你好運! – Norman