2017-07-31 59 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