Ранее мы проводили автоматическое тестирование с использованием Appium и могли проверить, считается ли документ редактируемым или нет, проверив атрибут «отредактированный» (AXEdited
) элемента AXCloseBox:
closeButton=driver.find_element_by_xpath("/AXButton[@AXSubrole='AXCloseButton']")
isEdited = closeButton.get_attribute('AXEdited')=='false'
Сейчас мы находимся в процессе перевода всех наших автоматических тестов непосредственно на XCUITest
s и, похоже, не можем получить доступ к этому свойству через XCUIElement
, потому что оно не является частью XCUIElementAttributes
.
Насколько я могу судить, все атрибуты недоступны из-за того, что XCUIElements
является внепроцессным (или внутрипроцессным, если вы думаете с точки зрения теста) прокси для элементов с поддержкой специальных возможностей вприложения.
Есть ли способ доступа к атрибуту AXEdited
(edited
) AXCloseButton
через XCUIElement
?
До сих пор я пытался:
- напрямую получить доступ к несуществующему свойству (неудивительно, что это сбой)
- с использованием
value(forKey: "edited")
- с использованием
value(forKey: "AXEdited")
- тестирование с
NSPredicate(format: "edited == 0")
- тестирование с
NSPredicate(format: "AXEdited == 0")
Пока что не повезло.Все еще надеюсь на ответ, потому что, хотя я могу проверить, включен ли File > Revert
, это не действует для документа, который не был сохранен ранее.