2016-04-11 25 views
1

Ich habe das folgende Skript geschrieben, um auf eine Schaltfläche auf der Benutzeroberfläche zu tippen. Mit jedem Drücken wird der ganzzahlige Wert eines UILabel erhöht. Ich möchte den Wert des UILabel in meinem Skript lesen. Wie kann ich das erreichen? Ich bin neu in diesem Automatisierungstool in Instruments.Den Wert einer UILabel in Automation-Vorlage von Instruments in Xcode lesen

var target = UIATarget.localTarget(); 
var appName = target.frontMostApp().mainWindow().name; 
target.setDeviceOrientation(UIA_DEVICE_ORIENTATION_PORTRAIT); 
target.frontMostApp().mainWindow().buttons()["Increment"].tap(); 
+0

Kann dir nicht direkt bei deinem Problem helfen. Aber wenn Sie das zum Testen machen, würde ich vorschlagen, den neuen UI-Testframe auszuprobieren, der Teil von Apples XCTest ist. Sie finden es möglicherweise viel einfacher zu verwenden als das ältere UI-Automation-Zeug. – drekka

+0

Ich dachte XCTest ist für Unit Testing. Ich wusste nicht, dass Sie mit XCTest UI-Tests durchführen können. – Dogahe

+0

XCTest wurde mit Unterstützung für das Starten von Apps und das Abfragen ihrer Schnittstellen erheblich verbessert. Nachdem ich es jetzt für ein Projekt verwendet habe, denke ich, dass es ziemlich ähnlich zu der Art ist, wie ich Tests in Frank oder Calabash schreiben würde, aber ohne das Cucumber BDD Frontend. Es gibt noch eine ganze Reihe von Funktionen, die Apple darin einbauen könnte. Aber im Allgemeinen würde ich sagen, dass es eine praktikable Option ist. – drekka

Antwort

2

Stellen Sie zunächst sicher, dass Sie dem UILabel den Zugriffscode zuweisen.

Das können Sie über Code:

self.myLabel.accessibilityIdentifier = @"uniqueId"; 

Oder über Storyboard:

enter image description here

Um Etikettenwert zu erhalten, verwenden Sie die folgende Zeile in Ihrem UIAutomation Skript:

target.frontMostApp().mainWindow().staticTexts()["uniqueId"].value(); 
+1

Vielen Dank. Es hat perfekt funktioniert. – Dogahe