"NSInternalInconsistencyException’ lors de l'exécution D'UITesting avec Xcode 7

Ok, je n'ai pas été capable de faire ce test dans les bêtas jusqu'à présent. Certains des problèmes que j'ai rencontrés sont ici et ici

maintenant, j'ai l'impression de rater quelque chose.

Voici mes progrès réalisés jusqu'à présent

  1. Activé "INTERFACE utilisateur de test" option lors de la création d'un nouveau projet. Ceci, en fait, ajoute une cible pour moi. Donc, je devrais être bon d'aller - ou alors j'ai pensé. enter image description here
  2. le fichier swift sous L'essai D'UI avait déjà" XCTest "importé et était une sous-classe de"XCTestCase".
  3. setup () lance l'application XCUIApplication ().lancement ()
  4. et j'ai ajouté ce qui suit (en appuyant sur le bouton Enregistrer) enter image description here

et ensuite, j'ai fait ce test.

le toute la chose échoue avant même que le test soit appelé, juste après le lancement de l'application dans setup () avec le suivant

* * * Assertion failure in -[XCUIApplication init], /Library/Caches/com.Apple.xbs / Sources/XCTest_Sim/XCTest-8170.3/Xctestfram Framework/UI Testing / XCUIApplication.m: 76 /Utilisateurs/Nom D'Utilisateur/Documents/Projets/Test/UiTesting/UITestingApp/UITestingApp.swift: 0: erreur: - [UITestingApp.Uitestingapp testSimpleTap] : échec: attrapé "NSInternalInconsistencyException", "Pas d'application cible chemin d'accès spécifié via la configuration de test:

testBundleURL:file:///Users/UserName/Library/Developer/CoreSimulator/Devices/E3201DC2-CAD3-48C3-95F5-15E18DCA1836/data/Containers/Bundle/Application/8B33FC59-FC03-41F8-BD21-43D81BA2D355/UITestingApp-Runner.app/PlugIns / UITestingApp.xctest /

productModuleName:(null) testsToSkip: (null) testsToRun: (null) reportResultsToIDE:aucun sessionIdentifier: F242796B-ED26-4AA7-861A-540D2D93CB8F pathToXcodeReportingSocket: (null) disablePerformanceMetrics: Non lesbaselines de traitementdoivent être considérées comme des erreurs:non baselineFileURL: (null) targetApplicationPath: (null) targetApplicationBundleID: (null) activités de rapport: n ° 151950920"

Quelqu'un a-t-il vu ça ou des suggestions sur ce que je pourrais manquer?

Note: j'ai bien défini la "cible D'Application" de la cible de test D'assurance-chômage à mon application

mise à jour: j'ai remarqué que ceci est applicable à toutes les versions bêta / finales de Xcode - Titre mis à jour en conséquence

30
demandé sur Community 2015-08-28 20:20:30

11 réponses

j'ai eu un problème similaire et mon erreur était d'essayer d'utiliser le code de test D'UI dans une cible de test régulière. Une fois que j'ai fait une nouvelle cible, en commençant par "iOS UI Testing Bundle" et copié le code là, l'erreur a disparu. Voici le fil qui m'a pointé dans la bonne direction: https://twitter.com/punksomething/status/609505357132500993 "Oui, j'essayais d'utiliser un test D'interface utilisateur dans une cible de test régulière. A dû créer une nouvelle cible de test D'UI ajoutée"

33
répondu Matt Bearson 2015-09-22 00:50:32

cela m'est arrivé quand j'essayais d'ajouter une nouvelle classe à ma cible de test unitaire, mais j'ai choisi le modèle de classe de cas de test UI au lieu du modèle de classe de cas de test unitaire.

assurez-vous que vous sélectionnez toujours une bonne. Même s'il s'agit à la fois de la sous-classe XCTestCase et que vous les assignez à la cible appropriée, cette erreur se produira lors de la sélection du mauvais modèle.

enter image description here

17
répondu Viktor Kucera 2016-06-09 12:06:53

j'ai eu ça après avoir renommé ma cible. La solution était de définir l' "Application cible" à "None" dans ma cible UITest et de frapper build. Après cela, j'ai mis 'None' en arrière mon application et l'erreur résolu. Je pense qu'il est très possible que le changement de nom ait perturbé les paramètres de L'application cible du test d'interface utilisateur.

4
répondu TibiUr 2016-06-20 13:57:54

je suis l'affirmation

* * * Assertion failure in -[XCUIApplication init], /Library/Caches/com.Apple.xbs/Sources/XCTest_Sim/XCTest-8170.3/XCTestFramework/UI Testing / XCUIApplication.m: 76

régulièrement, comme cela est décrit dans d'autres réponses. Vraiment ennuyeux, et il m'a fallu un certain temps pour trouver les étapes minimales pour s'en débarrasser.

la solution clé que j'ai trouvée est de redémarrer votre appareil. Donc, vous n'avez pas besoin de supprimer l'application, redémarrer Xcode ou quelque chose, juste redémarrer devrait faire disparaître cette affirmation.

4
répondu Samuël 2016-09-13 11:18:09

après des retouches sans fin, a changé l'emplacement des données dérivées dans "Xcode préférences" de "Legacy" à "Custom" et l'a fait fonctionner!

enter image description here

3
répondu SuPotter 2015-09-18 18:44:34

j'ai eu ce même problème. Je pense que le problème provenait de renommer une cible en cours de route. Aucun des correctifs ici m'a aidé avec mon problème. Comme je ne faisais que commencer et que je n'avais pas encore écrit de tests, j'ai supprimé la cible entière pour les tests D'interface utilisateur et je l'ai rajoutée. Même nom et tout a commencé à bien fonctionner.

si vous rencontrez ce problème, il est possible qu'il soit dû à la dénomination. Vous pouvez le suivre de cette façon ou enregistrer vos tests et ajouter une nouvelle cible D'UI.

3
répondu Bill Burgess 2016-01-04 19:59:20

j'ai eu cette erreur après avoir écrit quelques tests et les avoir exécutés. J'ai essayé toutes les corrections et suggestions postées, mais aucune n'a fonctionné pour moi.

j'ai décidé de supprimer L'application XCUI qui est créée à chaque fois que vous exécutez des tests et redémarrez mon appareil et cela a fonctionné. cependant, si je passe les tests 7 ou 8 fois par la suite, l'erreur revient et je ne fais que répéter le cycle de la solution. Si vous supprimez juste l'application et ne redémarrez pas il ne fonctionnera pas.

pas sûr que cette réponse fonctionnera pour tout le monde, mais c'est ce qui a fonctionné pour moi.

2
répondu Bori Oludemi 2016-08-24 23:38:13

cela a fonctionné pour moi après que j'ai commenté le code ci-dessous dans setup () la méthode de ma classe de TestCaseClass

continueAfterFailure = false & XCUIApplication ().lancement ()

1
répondu Ranganatha G V 2017-04-10 13:50:54

j'ai eu ce numéro en cours D'exécution des tests Cucumberish sur xCode 8.

je fixe par Projet ( Dans le projet de navigation ) > MyTestTarget > Général

ici, assurez-vous que L'Application cible est définie à l'application que vous souhaitez exécuter les tests. Par défaut, il a été défini à None.

0
répondu Dev2rights 2016-09-13 13:41:13

supprimer la cible existante et créer à nouveau corrige le problème.

assurez-vous que vous sélectionnez le bon pack test. Pour les tests de L'UI, il devrait être " "iOS Unit Testing Bundle ".

0
répondu arango_86 2017-05-09 08:40:47
  1. New create file UI Test Case and Unit Test Case templates are not much different , ( the former two lines of code փ select Unit Test in the test will prompt "application is not running" փ adding " Xcuiapplication().lancer()" peut résoudre le problème。
  2. lorsque le test a incité à ne pas trouver de contrôle (par exemple UITextField), veuillez indiquer le nom du contrôle \ identity - > accessibility - > Label \ au même nom que le contrôle utilisé dans l'uitclass փ
  3. vous n'avez pas ajouté la classe test aux cibles correspondantes de L'assurance-chômage
-1
répondu Peng.YU 2017-09-15 03:02:01