টাইমস্ট্যাম্পড ইভেন্টের মিলের ত্রুটি: মিলের উপাদান খুঁজে পাওয়া যায়নি


94

আমি এক্সকোডে একটি ইউআইটিস্ট উত্পন্ন করার চেষ্টা করছি। আমি যখন ইউআইভিউ সোয়াইপ করার চেষ্টা করি তখন আমার একটি ত্রুটি ঘটে:

Timestamped Event Matching Error: Failed to find matching element

ত্রুটি উইন্ডো

এখানে চিত্র বর্ণনা লিখুন

আমি যদি ইউআইভিউতে ট্যাপ করার চেষ্টা করি তবে এটিও ঘটে।


আপনি কি আরও কিছু ব্যাখ্যা করতে পারেন?
ডিয়েটার মীমকেন

আমি ইউআইভিউতে সোয়াইপ বা আলতো চাপার চেষ্টা করি যা মনে করি যে কিছু করার আছে (অঙ্গভঙ্গি পুনর্নির্ধারক আছে) তবে আমি যখন অঙ্গভঙ্গি করি তখন এই ত্রুটিটি ঘটে। এটিকে কাজ করার জন্য আমি যে একমাত্র উপায়টি তৈরি করেছি তা হল প্রশ্নগুলির সাথে তবে এটির সত্যিকার অর্থেই জটিল এবং আমি নিশ্চিত যে আরও একটি উপায় আছে
shar

উত্তর:


47

আপনি যে ইউআইভিউ অবজেক্টটি থেকে স্যুইপ করছেন তার জন্য 'অ্যাক্সেসিবিলিটি' বিকল্পটি সক্ষম করা উচিত যাচাই করা উচিত, উদাহরণস্বরূপ:

এখানে চিত্র বর্ণনা লিখুন


4
ওয়েবভিউয়ের জন্য অ্যাক্সেসিবিলিটি চালু করার ফলে ওয়েবভিউতে পাঠ্যের সমাধান করার সময় আমার পরীক্ষাগুলি ব্যর্থ হয়। ওয়েবভিউ হোস্টিং ইউআইভিউর জন্য অ্যাক্সেসিবিলিটি বন্ধ করে দেওয়া পরীক্ষাগুলি সফল করেছে। তাই সাবধান।
Askielboe

4
এটি আমার পক্ষে কাজ করার আরেকটি বিষয় হিসাবে আমাকে এটিকে একটি লেবেল দিতে হয়েছিল
শান লিন্টার্ন

fastlaneটেবিল ভিউয়ের স্ক্রিনশট নেওয়ার জন্য আমি এই পোস্টটিকে সহায়ক বলে মনে করেছি। stackoverflow.com/a/39331154/4475605
অ্যাড্রিয়ান

এই কোথায়? আমি এটি কিভাবে সেট করব?
কোরি ম্যাকাবয়

@ কোরিএমসিএবয় আপনি আপনার কাস্টম ভিউয়ের জন্য কোড থেকে সেট করতে পারেন:isAccessibilityElement = true
গ্লেব তারাসভ

14

সাধারণত এই ইস্যুটি পর্যবেক্ষণ করা হয় যখন ইও মৌলিক উপাদানটির উপাদানটি আপনি রেকর্ড করতে চান তা isAccessibilityElement = true এ সেট করা হয়। সাধারণভাবে, সন্তানের উপাদান অ্যাক্সেস করতে আপনার পিতামাত্ত উপাদানকে মিথ্যাতে সেট করতে হবে। উদাহরণস্বরূপ: আপনার যদি কোনও দৃশ্যের ভিতরে একটি ইউআইএলবেল থাকে তবে অ্যাক্সেসযোগ্যতাটি দর্শনের জন্য মিথ্যাতে সেট করা উচিত এবং ইউআইএলবেলের জন্য সত্য হিসাবে সেট করা উচিত।


4
এটি হ'ল পুনরুত্পাদনযোগ্য। যেমনটি আপনি বলেছিলেন যে এটি পিতামণ্ডলের উপাদানটির কাজ করে না এটি isAccessibilityElement = সত্য সেট করা আছে! আমি এটি আবার মিথ্যাতে সরিয়ে দেওয়ার পরে এটি আবার কাজ করে।
পোমস

3

এক্সকোড 9.3-এ, যেখানে সম্ভবত এটি এখনও একটি সমস্যা, আমি যা করেছি তা হ'ল:

  • এক্সকোড ছাড়ুন
  • সিমুলেটারের সেটিংস পুনরায় সেট করুন (হার্ডওয়্যার -> সমস্ত সামগ্রী এবং সেটিংস মুছুন)
  • সিমুলেটরটি ছেড়ে দিন
  • বর্তমান অ্যাপের জন্য প্রাপ্ত ডেটা মুছুন
  • এক্সকোড পুনরায় চালু করুন
  • আবার রেকর্ডিংয়ের চেষ্টা করুন - এটি আমার জন্য এবার কাজ করেছে।

আমি একটি বোতামটি "skipButton" হিসাবে এবং বাটন চিহ্নিত উপর আইডেন্টিফায়ার সরবরাহ করেছি, এটা সবসময় ব্যর্থ হয়, আমি app.buttons [ "skipButton '] যেমন বাটন চিহ্নিত করছি ব্যবহার করছেন তখন আপনার সাহায্য তারিফ করা
সুজিত Baranwal

এই পদক্ষেপগুলি আমার পক্ষে কার্যকর হয়নি। আসলে, যে উইজেটগুলি আগে সমস্যার দ্বারা প্রভাবিত হয়নি তারা প্রভাবিত হয়ে ওঠে।
জিফ এস

এর কোন বিষয়বস্তু নেই কেন?
কাক

2

একটি নতুন পরীক্ষা রেকর্ড করার জন্য, আমি মনে করি না এর কোনও সমাধান এখনও আছে। তবে, আপনি যদি ইতিমধ্যে বিদ্যমান একটি টেস্ট দিয়ে জোর করে ট্যাপ করার জন্য এক্সটেনশন ব্যবহার করেন তবে তা কাজ করে।

ব্যবহারের উদাহরণ:

extension XCUIElement {

    func forceTapElement() {
        if self.hittable {
            self.tap()
        }
        else {
            let coordinate: XCUICoordinate = self.coordinateWithNormalizedOffset(CGVectorMake(0.0, 0.0))
            coordinate.tap()
        }  
    }
}

func testSomethingWithCells() {

   let app = XCUIApplication()
   let cells = app.tables.cells
   sleep(1)
   cells.elementBoundByIndex(0).forceTapElement()
}

আপনি এখানে মূল পোস্টটি চেক করতে পারেন:

এক্সকোড ইউআই পরীক্ষা - ইউআই টেস্টিং ব্যর্থতা - অনুসন্ধান ক্ষেত্র "বাতিল করুন" বোতামে আলতো চাপলে দৃশ্যমান (এএক্স এক্স দ্বারা) স্ক্রোল করতে ব্যর্থ হয়েছে


এলিমেন্টবাউন্ডবাইন্ডেক্স 'এর নাম পরিবর্তন করে' এলিমেন্ট (বাউন্ড বাই :) 'রাখা হয়েছে, যেমন: সেলস.সিলিউট (বাউন্ড বাই: 0) .ট্যাপ ()
সুজনানথ

2

আমি মাঝে মাঝে এই সমস্যার মধ্যে চলে আসছি। ডেরিভডডেটা থেকে অ্যাপ্লিকেশনটির ডিরেক্টরি মুছুন বলে মনে হচ্ছে এটি সাহায্য করবে।


1

আমার পক্ষে কাজ করা একটি সমাধান হ'ল বিষয়টি আলাদাভাবে চিহ্নিত করা।
এক্সকোড 8 এ আমি নিম্নলিখিতগুলি ব্যবহার করতে সক্ষম হয়েছি:

XCUIApplication().tables.cells["Camera Roll"].buttons["Camera Roll"].tap()

এক্সকোড 9 এর সাথে আমি এই প্রশ্নের মধ্যে উল্লিখিত ত্রুটি পেয়েছি। নিম্নলিখিতটি ব্যবহার করে শেষ হয়েছে, যা কাজ করে (মূল বিকল্পের চেয়ে বেশি ফ্লকি)

XCUIApplication().cells.element(boundBy: 1).tap()

@ আপনার পরীক্ষার ফাংশনটির ডেভেলপার
হিউ-আনহ হোয়াং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.