Подтвердить что ты не робот

Xcode 7 UI Tests, кнопка записи выделена серым цветом

Я пытаюсь добавить тесты пользовательского интерфейса к существующему проекту с помощью Xcode 7. Однако кнопка записи теста пользовательского интерфейса всегда выделена серым цветом. Что мне здесь не хватает?

Пробный перезапуск Xcode. Очистка и восстановление проекта и добавление новой цели тестирования пользовательского интерфейса. Кто-нибудь еще испытывает такое же поведение?

4b9b3361

Ответ 1

FWIW: У меня была эта проблема, и оказалось, что я пытался запустить симулятор в неправильной ОС.

Я пытался использовать iOS8.x, а UITesting работает только в iOS9 +.

Переключите версию симулятора, и появится кнопка записи.

Ответ 2

Я тоже застрял на этом. Чтобы записать, вы должны быть в классе, который Xcode распознает как содержащий тесты. Добавьте файл к цели тестирования пользовательского интерфейса с чем-то вроде:

import Foundation
import XCTest

class MyTests: XCTestCase {
    func testSomething() {

    }
}

Сохраните файл, очистите проект и переключитесь на другой файл, затем вернитесь к нему. Затем должна быть доступна кнопка записи.

Ответ 3

У меня была такая же проблема, и моя настройка была правильной, iOS >= 9.0, цель была добавлена.

Проблема заключалась в индексировании Xcode, которая занимала некоторое время (около 1 часа), после того, как была сделана индексация, кнопка записи становится активной.

Ответ 4

Чтобы включить красную кнопку, вы должны иметь курсор на методе тестирования:

введите описание изображения здесь

Ответ 5

Для меня проблема заключалась в том, что панель "Редактор версий" была открыта. Как только я переключился на помощник редактора, он сработал.

Ответ 6

Имел ту же самую проблему в Xcode 8.3.

Я удалил метод tearDown

   override func tearDown() {
        super.tearDown()

    }

Как не нужно было его использовать. Как только я добавил его, кнопка записи была включена.

Ответ 7

Это немного глупо, но пропущено в некоторых статьях, которые я читал.

Удостоверьтесь, что у вас есть UITesting Target, регулярный целевой тест не сделал этого для меня.

Ответ 8

Я сделал несколько вещей, чтобы включить мою кнопку записи:

  • (Необязательно, рекомендуется). Удалите все схемы TEST и целевые объекты TEST для вашего проекта, запустите его, создав новый UITest Target.
  • Убедитесь, что ваша схема UITest и основная схема запуска проекта указывают на одну и ту же цель.
  • Попробуйте удалить другие UITest-схемы, если они могут быть легко воссозданы/не имеют абсолютной важности.
  • Продукт > (нажмите и удерживайте клавишу ALT) > Очистить папку сборки
  • Продукт > Очистка (только для безопасной меры)
  • Закрыть проект, выйти из Xcode.
  • Симулятор выхода.
  • Наконец, снова запустите Xcode, загрузите свой проект. Перейдите в файл UITest, и небольшая красная кнопка радости должна быть доступна для использования.

Кроме того, убедитесь, что ваша цель сборки/запуска установлена ​​на iPhone X 9.X.

Ответ 9

Я нашел другое решение, которое я не видел здесь.

Если вы подклассифицируете XCTestCase, измените свой класс, чтобы наследовать его снова, сохраните файл, измените его на название подкласса. Нет необходимости в чистке или сборке.

Для моего проекта у меня есть подкласс XCTestCase, позвоните ему APPMyTestCase. Я часто обнаруживаю, что кнопка записи выделена серым цветом, и иногда маленькие зеленые/красные кнопки рядом с каждым методом тестирования не отображаются, чтобы иметь возможность запускать их отдельно. Если я заменил свой подкласс на XCTestCase на секунду, все будет работать снова.

Измените это:

class APPLoadingPageUITests: APPMyTestCase {
    // tests here
}

Для этого:

class APPLoadingPageUITests: XCTestCase {
    // tests here
}

И вернемся к следующему:

class APPLoadingPageUITests: APPMyTestCase {
    // tests here
}

Это исправило это для меня.

Ответ 10

Обязательно наличие одного подкласса XCTestCase для каждого файла. Вы хотите, чтобы имена файлов и классов соответствовали.

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

Ответ 11

Вы должны импортировать класс просмотра, который хотите проверить. Затем поставьте курсор в методе тестирования.