it-swarm.com.de

Xcode 7 UI-Tests, Schaltfläche Aufnahme ist ausgegraut

Ich versuche, UI-Tests mit Xcode 7 zu meinem vorhandenen Projekt hinzuzufügen. Die Schaltfläche zum Aufzeichnen der UI-Tests ist jedoch immer grau hinterlegt. Was fehlt mir hier? 

Ich habe versucht, Xcode neu zu starten, das Projekt zu bereinigen und neu zu erstellen und ein neues Testziel für die Benutzeroberfläche hinzuzufügen. Hat jemand anderes das gleiche Verhalten? 

25
rustylepord

FWIW: Ich hatte dieses Problem und es stellte sich heraus, dass ich versuchte, den Simulator im falschen Betriebssystem auszuführen. 

Ich habe versucht, iOS8.x zu verwenden, und UITesting funktioniert nur unter iOS9 +. 

Wechseln Sie die Simulatorversion, und die Aufnahmetaste wird angezeigt. 

11
Le Mot Juiced

Um den roten Knopf zu aktivieren, müssen Sie den Cursor auf die Testmethode setzen:

 enter image description here

29
pableiros

Ich blieb auch eine Zeit lang fest. Um aufnehmen zu können, müssen Sie sich in einer Klasse befinden, die von Xcode als Tests erkannt wird. Fügen Sie eine Datei zu Ihrem UI-Testziel hinzu.

import Foundation
import XCTest

class MyTests: XCTestCase {
    func testSomething() {

    }
}

Speichern Sie die Datei, bereinigen Sie Ihr Projekt und wechseln Sie zu einer anderen Datei und dann zu dieser. Aufnahmetaste sollte dann verfügbar sein.

15
Maldron

Ich hatte das gleiche Problem und mein Setup war korrekt, iOS> = 9.0, Ziel wurde hinzugefügt.

Das Problem war die Xcode-Indizierung, die eine Weile dauerte (etwa 1 Stunde). Nachdem die Indizierung abgeschlossen war, wird die Aufnahmetaste aktiv.

12
toxicsun

Hatte das gleiche Problem bei Xcode 8.3. 

Ich habe die tearDown-Methode entfernt 

   override func tearDown() {
        super.tearDown()

    }

Da musste es nicht gebraucht werden. Sobald ich es wieder hinzufügte, war die Aufnahmetaste aktiviert. 

5
Tal Zion

Das Problem war für mich, dass der Bereich "Versions-Editor" geöffnet war. Sobald ich wieder zum Assistant Editor gewechselt habe, hat es funktioniert.

4
Chase Holland

Das ist irgendwie dumm, aber in einigen Artikeln, die ich gelesen habe, verfehlt.

Stellen Sie sicher, dass Sie ein UIT-Testziel haben, ein normales Testziel hat es nicht für mich getan.

3
leopic

Überprüfe deinen Versionseditor und korrigiere ihn 

 enter image description here

 enter image description here

2
Rajneesh071

Eine Testmethode muss mit dem Wort test beginnen, damit Xcode es erkennt und die Aufzeichnung zulässt, wenn sich der Cursor innerhalb der Methode befindet.

Ein Hinweis darauf, dass Xcode die Methode erkannt hat, ist eine Raute, die links vom Methodennamen erscheint:

 enter image description here

1
Manuel

Ich habe eine andere Lösung gefunden, die ich hier nicht aufgelistet habe. 

Wenn Sie XCTestCase eine Unterklasse erstellen, ändern Sie Ihre Klasse, um sie erneut zu übernehmen, speichern Sie die Datei und ändern Sie sie wieder in Ihren Unterklassennamen. Kein sauberes oder bauen benötigt.

Für mein Projekt habe ich eine Unterklasse von XCTestCase, nennen wir sie APPMyTestCase. Ich finde oft, dass die Aufnahmetaste grau hinterlegt ist, und manchmal scheinen die kleinen grünen/roten Tasten neben jeder Testmethode entweder nicht einzeln ausgeführt zu werden. Wenn ich meine Unterklasse eine Sekunde lang wieder in XCTestCase ändere, funktioniert alles wieder. 

Ändere das:

class APPLoadingPageUITests: APPMyTestCase {
    // tests here
}

Zu diesem:

class APPLoadingPageUITests: XCTestCase {
    // tests here
}

Und dann wieder zurück:

class APPLoadingPageUITests: APPMyTestCase {
    // tests here
}

Das hat es für mich behoben.

1
Gordonium

Ich habe ein paar Dinge getan, um meine Aufnahme-Schaltfläche zu aktivieren:

  1. (Optional, Empfohlen) - Löschen Sie alle TEST-Schemata und TEST-Ziele für Ihr Projekt. Starten Sie neu, indem Sie ein neues UITest-Ziel erstellen.
  2. Stellen Sie sicher, dass Ihr UITest-Schema und Ihr Hauptprojektlaufschema auf dasselbe Ziel zeigen.
  3. Versuchen Sie, Ihre anderen UITest-Schemata zu löschen, wenn sie einfach wiederhergestellt werden können/nicht von absoluter Bedeutung sind.
  4. Produkt> (Halten Sie die ALT-Taste gedrückt)> Clean Build Folder
  5. Produkt> Reinigen (nur zur sicheren Maßnahme)
  6. Projekt schließen, Xcode beenden.
  7. Simulator beenden.
  8. Öffnen Sie schließlich Xcode erneut, laden Sie Ihr Projekt. Navigieren Sie zu Ihrer UITest-Datei, und der kleine rote Knopf der Freude sollte verfügbar sein. 

Stellen Sie außerdem sicher, dass Ihr Build-/Run-Ziel auf iPhone X 9.X eingestellt ist.

1
Frogger

Vergewissern Sie sich, dass nur eine Unterklasse von XCTestCase pro Datei vorhanden ist. Sie möchten, dass Dateiname und Klassenname übereinstimmen.

Nach meiner Erfahrung wird die Record-Schaltfläche deaktiviert, selbst wenn UI-Tests aktiv sind, wenn Sie eine neue Unterklasse Ihrer XCTestCase-Unterklasse in derselben Datei hinzufügen.

0
blackp

Es kam sofort zurück, als ich zum richtigen Schema wechselte. Stellen Sie sicher, dass Sie sich im UI testing-Schema befinden, da der UI-Testrecorder mit keinem anderen arbeiten kann.

0
Wills

So dumm es sich anhört: Ich musste eine andere Datei auswählen aus der linken Seitenleiste und zurück zu meiner Datei mit den Testfällen. Danach wurde der Button sofort aktiv.

0
Tamás Sengel