Xcode 11 XCUITest को मिलान स्नैपशॉट प्राप्त करने में विफल: मुख्य विंडो प्राप्त करने में त्रुटि kEErrorServerbototound


21

Xcode 11 में अपना ऐप बनाने और XCUITests के अपने सूट को चलाने के बाद, मुझे निम्नलिखित के साथ कई यादृच्छिक विफलताएं मिल रही हैं।

मिलान स्नैपशॉट प्राप्त करने में विफल: मुख्य विंडो kAXErrorServerNotFound प्राप्त करने में त्रुटि

कोई फर्क नहीं पड़ता कि मैं कब तक समय-समय पर मुद्दों को बढ़ाता हूं। ऐसा लगता है कि यूआई पदानुक्रम को स्नैपशॉट देने के मुद्दे हैं। हमारे परीक्षण Xcode 10 में लगातार पास होते हैं।

मैंने Xcode पुनः इंस्टॉल किया है। सभी सिमुलेटर हटा दिए गए। प्राप्त डेटा साफ़ किया गया। संशोधित समयबाह्य। Xcode 11.1 से Xcode 11.2.1 तक अपग्रेड किया गया।

धन्यवाद!

 


यहां तक ​​कि मैं एक ही मुद्दे का सामना कर रहा हूं, क्या आपको उसी के लिए कोई वर्कअराउंड मिला है।
समर्थ केजरीवाल

जवाबों:


9

जब मैं Xcode 11.3 में साधारण UITest चला रहा था, तब मुझे मिलान की समस्या थी। यह काम करने के लिए मुझे पहली बार चिपकाना पड़ा: XCUIApplication().activate()या XCUIApplication().launch()


यह काम करता है .. धन्यवाद
RJ168

यह उत्तर जाने का रास्ता प्रतीत हो रहा है, लेकिन यह समझने के मुद्दे हैं कि इसका क्या मतलब है? मुझे XCUIApplication () कहां सक्रिय करना चाहिए () और / या XCUIApplication () लॉन्च करना चाहिए ()?
चार्ली सेलिगमैन

अपने ui परीक्षण फ़ंक्शन के अंदर
Денис Грикоенко

0

मैंने Xcode 11 के साथ एक ही मुद्दे का अनुभव किया है और महसूस किया है कि परीक्षण को रोकते समय परीक्षण धावक की हत्या नहीं हो रही थी (या यदि परीक्षण किसी कारण से दुर्घटनाग्रस्त हो गया)। दूसरी बार परीक्षण चलाने से एक नया परीक्षण धावक पैदा होगा और उस समय मेरे पास दो धावक एक ही आवेदन के साथ बातचीत करने की कोशिश कर रहे थे, जिससे यह बहुत ही अजीब त्रुटि हुई।

यह साबित करने के लिए कि मैंने निम्नलिखित कार्य किया है:

  1. एक यूआई परीक्षण बनाया जो एक पाठ दृश्य में एक लंबा पाठ टाइप करता है
  2. परीक्षण को दौड़ाया, और मैन्युअल रूप से इसे रोक दिया जब पाठ दृश्य में कुछ वाक्य थे
  3. सिम्युलेटर में एप्लिकेशन को मैन्युअल रूप से खोला (परीक्षण चलाकर नहीं)
  4. यह देखा कि पाठ के दृश्य में यादृच्छिक वर्ण दिखाई दे रहे थे, भले ही कोई परीक्षण नहीं चल रहा था।

वर्कअराउंड को छोड़ दिया गया था और यह सुनिश्चित करने के लिए सिम्युलेटर को फिर से खोलना था कि सभी प्रक्रियाएं मार दी जा रही हैं। आशा है कि यह आपके मुद्दों को हल करता है


अंतर्दृष्टि के लिए धन्यवाद! अब जब आप यह कहते हैं कि जो मैंने देखा है उसके साथ मेल खाता है। दुर्भाग्य से, जैसे मैंने अपने मूल पोस्ट में कहा, मैंने पहले ही सभी सिमुलेटर को हटाने की कोशिश की है। ये परीक्षण स्थानीय स्तर पर और हमारे CI सिस्टम पर हमारे बिल्ड के एक भाग के रूप में चलाए जाते हैं। क्या आप इस प्रक्रिया को स्वचालित करने के लिए वैसे भी जानते हैं?
ल्यूक स्ट्रीट

I हमने अपने CI सिस्टम पर जो काम किया वह स्पष्ट रूप से टेस्ट सूट चलाने से पहले सिम्युलेटर को मार रहा था। आप उदाहरण के लिए चला सकते हैं killall "Simulator" 2> /dev/null; xcrun simctl erase all, या यदि आप फास्टलेन का उपयोग करते हैं तो सिम्युलेटर को रीसेट करने के लिए स्कैन में विकल्प हैं।
एरडेल

0

मैं विभिन्न मशीनों का उपयोग करता हूं। मेरे पुराने Macs इस त्रुटि को अधिक बार अनुभव करते हैं। मेरा अनुमान है कि पुराने macs में कुछ XCUITests को सही ढंग से चलाने के लिए आवश्यक मेमोरी नहीं है।


0

मैं Xcode 11.1 में समय-समय पर मुद्दे को पूरा करता हूं। मैंने देखा कि यूआई तत्वों के लिए प्रतीक्षा करते समय समस्या होती है विशेष रूप से परीक्षण के दौरान वेब दृश्य दिखाए जा रहे हैं। जब समस्या हुई तो मैं उपयोग कर रहा था XCUIElement.waitForExistence(timeout:)या अपेक्षा के साथ था NSPredicate(format: "exists == true")। जब मैं NSPredicate(format: "hittable == true")इस मुद्दे के साथ अपेक्षा का उपयोग करने के लिए बदल गया लगता है, लेकिन मुझे पता नहीं क्यों। 2 विशेषताओं के बीच का अंतर यह है कि hittableकेवल ऑन exists-स्क्रीन तत्वों का पता लगाते हैं जबकि ऑफ़-स्क्रीन तत्वों का पता लगाते हैं जैसे टेबल-स्क्रीन के ऑफ-स्क्रीन सेल।

expectation(for: NSPredicate(format: "hittable == true"), evaluateWith: element, handler: nil)
waitForExpectations(timeout: 60, handler: nil)

0

मैं Xcode 11 पर एक समान मुद्दा था।

यह पता चला कि इससे पहले कि कई पृष्ठ में एक ही पहुंच पहचानकर्ता की अनुमति दी गई थी।

लेकिन अब नई मोडल प्रस्तुति शैली का उपयोग करते हुए, आपको संघर्षों से बचने के लिए अपने पृष्ठों के भीतर विभिन्न पहचानकर्ताओं का उपयोग करना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.