के साथ टेक्स्ट फ़ील्ड्स से मूल्य प्राप्त करना मैं समझने की कोशिश कर रहा हूं कि स्वचालित अनुप्रयोग परीक्षण करने के लिए यूआईयूटोमेशन का उपयोग कैसे किया जा सकता है, इसलिए मैंने एक तापमान कनवर्टर ऐप बनाया है जिसे जावास्क्रिप्ट इंटरफ़ेस से संचालित किया जा सकता है। यहाँ यूआई है:UIAutomation
शीर्ष पाठ क्षेत्र "सेल्सियस" का एक सरल उपयोग लेबल, इसी तरह तल क्षेत्र है "फारेनहाइट" अपनी पहुंच-लेबल के रूप में है। मैं इस स्क्रिप्ट के माध्यम से ड्राइव करने के लिए कोशिश कर रहा हूँ:
UIALogger.logStart("Test -40ºC == -40ºF");
var window = UIATarget.localTarget().frontMostApp().mainWindow();
var celsiusField = window.textFields()["Celsius"];
var fahrenheitField = window.textFields()["Fahrenheit"];
var convertButton = window.buttons()["Convert"];
celsiusField.setValue("-40");
convertButton.tap();
var fahrenheitValue = fahrenheitField.value();
if (fahrenheitValue == "-40.0") {
UIALogger.logPass("-40C == -40F");
} else {
UIALogger.logFail("-40C == " + fahrenheitValue + "F");
}
यह सही ढंग से सेल्सियस क्षेत्र में पाठ सेट करने के लिए "-40", और जब बटन उपयोग किया जाता है, अनुप्रयोग के लिए फारेनहाइट फ़ील्ड में लेख अद्यतन करता है "-40.0"। हालांकि, fahrenheitValue
में "फ़ारेनहाइट" (टेक्स्ट फ़ील्ड का नाम/लेबल) मान है, इसलिए परीक्षण विफल हो जाता है। मैंने सोचा कि क्या यह शायद एक समय मुद्दा था, इसलिए टैप के बाद एक-दूसरे देरी में डाल दिया, जिसने व्यवहार को नहीं बदला।
क्या टेक्स्ट फ़ील्ड से टेक्स्ट प्राप्त करना संभव है और अपेक्षित मूल्य से इसकी तुलना करना संभव है?
ऐसा लगता है कि उत्तर दिया गया है। मैंने प्लेसहोल्डर टेक्स्ट हटा दिया, और अब चीजें काम करती हैं जैसे उन्हें चाहिए। मुझे शायद उस पर एक बग फाइल करना चाहिए :) –