Ответ 1
FWIW: У меня была эта проблема, и оказалось, что я пытался запустить симулятор в неправильной ОС.
Я пытался использовать iOS8.x, а UITesting работает только в iOS9 +.
Переключите версию симулятора, и появится кнопка записи.
Я пытаюсь добавить тесты пользовательского интерфейса к существующему проекту с помощью Xcode 7. Однако кнопка записи теста пользовательского интерфейса всегда выделена серым цветом. Что мне здесь не хватает?
Пробный перезапуск Xcode. Очистка и восстановление проекта и добавление новой цели тестирования пользовательского интерфейса. Кто-нибудь еще испытывает такое же поведение?
FWIW: У меня была эта проблема, и оказалось, что я пытался запустить симулятор в неправильной ОС.
Я пытался использовать iOS8.x, а UITesting работает только в iOS9 +.
Переключите версию симулятора, и появится кнопка записи.
Я тоже застрял на этом. Чтобы записать, вы должны быть в классе, который Xcode распознает как содержащий тесты. Добавьте файл к цели тестирования пользовательского интерфейса с чем-то вроде:
import Foundation
import XCTest
class MyTests: XCTestCase {
func testSomething() {
}
}
Сохраните файл, очистите проект и переключитесь на другой файл, затем вернитесь к нему. Затем должна быть доступна кнопка записи.
У меня была такая же проблема, и моя настройка была правильной, iOS >= 9.0, цель была добавлена.
Проблема заключалась в индексировании Xcode, которая занимала некоторое время (около 1 часа), после того, как была сделана индексация, кнопка записи становится активной.
Чтобы включить красную кнопку, вы должны иметь курсор на методе тестирования:
Для меня проблема заключалась в том, что панель "Редактор версий" была открыта. Как только я переключился на помощник редактора, он сработал.
Имел ту же самую проблему в Xcode 8.3.
Я удалил метод tearDown
override func tearDown() {
super.tearDown()
}
Как не нужно было его использовать. Как только я добавил его, кнопка записи была включена.
Это немного глупо, но пропущено в некоторых статьях, которые я читал.
Удостоверьтесь, что у вас есть UITesting Target, регулярный целевой тест не сделал этого для меня.
Я сделал несколько вещей, чтобы включить мою кнопку записи:
Кроме того, убедитесь, что ваша цель сборки/запуска установлена на iPhone X 9.X.
Я нашел другое решение, которое я не видел здесь.
Если вы подклассифицируете XCTestCase
, измените свой класс, чтобы наследовать его снова, сохраните файл, измените его на название подкласса. Нет необходимости в чистке или сборке.
Для моего проекта у меня есть подкласс XCTestCase
, позвоните ему APPMyTestCase
. Я часто обнаруживаю, что кнопка записи выделена серым цветом, и иногда маленькие зеленые/красные кнопки рядом с каждым методом тестирования не отображаются, чтобы иметь возможность запускать их отдельно. Если я заменил свой подкласс на XCTestCase
на секунду, все будет работать снова.
Измените это:
class APPLoadingPageUITests: APPMyTestCase {
// tests here
}
Для этого:
class APPLoadingPageUITests: XCTestCase {
// tests here
}
И вернемся к следующему:
class APPLoadingPageUITests: APPMyTestCase {
// tests here
}
Это исправило это для меня.
Обязательно наличие одного подкласса XCTestCase
для каждого файла. Вы хотите, чтобы имена файлов и классов соответствовали.
По моему опыту, даже если у вас работают тесты пользовательского интерфейса, если вы добавите новый подкласс своего рабочего подкласса XCTestCase в тот же файл, кнопка записи будет отключена (хотя все остальные тестовые интерфейсы будут продолжать работать).
Вы должны импортировать класс просмотра, который хотите проверить. Затем поставьте курсор в методе тестирования.