আমি এক্সকোডে একটি ইউআইটিস্ট উত্পন্ন করার চেষ্টা করছি। আমি যখন ইউআইভিউ সোয়াইপ করার চেষ্টা করি তখন আমার একটি ত্রুটি ঘটে:
Timestamped Event Matching Error: Failed to find matching element
আমি যদি ইউআইভিউতে ট্যাপ করার চেষ্টা করি তবে এটিও ঘটে।
আমি এক্সকোডে একটি ইউআইটিস্ট উত্পন্ন করার চেষ্টা করছি। আমি যখন ইউআইভিউ সোয়াইপ করার চেষ্টা করি তখন আমার একটি ত্রুটি ঘটে:
Timestamped Event Matching Error: Failed to find matching element
আমি যদি ইউআইভিউতে ট্যাপ করার চেষ্টা করি তবে এটিও ঘটে।
উত্তর:
fastlane
টেবিল ভিউয়ের স্ক্রিনশট নেওয়ার জন্য আমি এই পোস্টটিকে সহায়ক বলে মনে করেছি। stackoverflow.com/a/39331154/4475605
isAccessibilityElement = true
সাধারণত এই ইস্যুটি পর্যবেক্ষণ করা হয় যখন ইও মৌলিক উপাদানটির উপাদানটি আপনি রেকর্ড করতে চান তা isAccessibilityElement = true এ সেট করা হয়। সাধারণভাবে, সন্তানের উপাদান অ্যাক্সেস করতে আপনার পিতামাত্ত উপাদানকে মিথ্যাতে সেট করতে হবে। উদাহরণস্বরূপ: আপনার যদি কোনও দৃশ্যের ভিতরে একটি ইউআইএলবেল থাকে তবে অ্যাক্সেসযোগ্যতাটি দর্শনের জন্য মিথ্যাতে সেট করা উচিত এবং ইউআইএলবেলের জন্য সত্য হিসাবে সেট করা উচিত।
এক্সকোড 9.3-এ, যেখানে সম্ভবত এটি এখনও একটি সমস্যা, আমি যা করেছি তা হ'ল:
একটি নতুন পরীক্ষা রেকর্ড করার জন্য, আমি মনে করি না এর কোনও সমাধান এখনও আছে। তবে, আপনি যদি ইতিমধ্যে বিদ্যমান একটি টেস্ট দিয়ে জোর করে ট্যাপ করার জন্য এক্সটেনশন ব্যবহার করেন তবে তা কাজ করে।
ব্যবহারের উদাহরণ:
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()
}
আপনি এখানে মূল পোস্টটি চেক করতে পারেন:
আমার পক্ষে কাজ করা একটি সমাধান হ'ল বিষয়টি আলাদাভাবে চিহ্নিত করা।
এক্সকোড 8 এ আমি নিম্নলিখিতগুলি ব্যবহার করতে সক্ষম হয়েছি:
XCUIApplication().tables.cells["Camera Roll"].buttons["Camera Roll"].tap()
এক্সকোড 9 এর সাথে আমি এই প্রশ্নের মধ্যে উল্লিখিত ত্রুটি পেয়েছি। নিম্নলিখিতটি ব্যবহার করে শেষ হয়েছে, যা কাজ করে (মূল বিকল্পের চেয়ে বেশি ফ্লকি)
XCUIApplication().cells.element(boundBy: 1).tap()