2016-04-22 4 views
0

У меня есть функция выхода, которая вызывается во время каждого tearDown(), но не работает при вызове этого способа. Если во время теста я вызываю ту же функцию выхода из системы, она работает нормально. Мне интересно, что такое поведение XCUI-тестирования во время срыва, существуют ли ограничения? Я пытался отладки и вызова app.swipeRight() с помощью lldb (espression-> писать код) ...Xcode UI test - swipeRight() не работает после tearDown

------- 
Navbar.swift 
------- 
import XCTest 
import Foundation 

class NavbarTest: XCTestCaseLib{ 
    override func setUp() 
    { 
     super.setUp() 
     continueAfterFailure = false 
    } 
    override func tearDown() 
    { 
     logout() 
     super.tearDown() 
    } 

    func testSideBar_STAGING(){ 
    //...<test code that executes no problem> 
    //... 
    } 
} 



----- 
XCTestCaseLib.swift 
------ 
import XCTest 
import Foundation 

class XCTestCaseLib: XCTestCase { 
let app = XCUIApplication() 
func logout() { 
    app.swipeRight() 
    ... 
} 
+0

Вы уверены, что 'Teardown()' функция выполняется? Добавьте сообщение в журнал, чтобы быть уверенным. Кроме того, изменяется ли поведение, если вы вызываете 'self.logout()' вместо 'logout()'? – bneely

ответ

0

Из кода вы в курсе, это, кажется, ваш импорт (я предполагаю, что здесь что эти классы находятся в разных файлах, иначе ваше наследование неоднозначно). Если я ошибаюсь, обновите свой вопрос, включив в него файловую структуру. Играйте со своим импортом и наследованием.

Я считаю, что вам просто нужно import XCTest на вашем NavbarTest класса

+0

Привет, Спасибо, что нашли время посмотреть на это. Ive обновил ответ, чтобы включить мой импорт и имена файлов. Это не проблема. Сегодня кажется, что функция выхода из системы работает, когда тестовый сценарий заканчивается раньше (неудачно в какой-то момент), но если тест завершается, то разрывы не выполняются должным образом (я имею в виду, что он выполняется, но кадровая функция не работает). .super weird – 1ak31sha

+0

Вы не запускаете приложение в 'setup()', это предназначено? – cakes88

+0

Да, я запускаю с различными командами запуска в каждом тесте, поэтому я не использую настройки для этого. – 1ak31sha