Как мне добавить глобальный тег в Axe DevTools (подтвердить)

#ios #swift #accessibility #axe #axedevtools

#iOS #swift #Специальные возможности #axe #axedevtools

Вопрос:

Я использую Axe DevTools и пытаюсь выяснить, как пометить несколько сканирований одной и той же информацией о сборке. Прямо сейчас мои тесты выполняются следующим образом:

 class MyTestCase : XCTestCase {
  func myTest() {
    Attest.that(view: view)
      .isAccessible({ result in })
      .andPushResult(withTags: [myBuild])
  }
}
  

Как я могу добавить myBuild тег глобально ко всем тестам, которые я запускаю?

Ответ №1:

Я бы создал свой собственный класс, который использует Axe DevTools (Attest) АПИс. Затем пусть мои тестовые примеры взаимодействуют с моим собственным классом вместо того, чтобы взаимодействовать с самим Attest!

 class AccessibilityTestUtils {
  static let buildTag:String = Bundle.main.object(
    forInfoDictionaryKey: "CFBundleShortVersionString"
  ) as! String

  init(build: String) {
    self.buildTag = build
  }
    
  static func runAccessibilityTestOn(aView : View) {
    Attest.that(view: aView).isAccessible({ result in })
      .andPushResult(withTags: [buildTag])   
  } 
}
  

Пример Использования

 class YourTestClass {
    func yourTestCase() {
        AccessibilityTestUtils.runAccessibilityTestOn(aView)
    }
}
  

Примечание: Этот подход также защищает вас от будущих изменений в библиотеке аттестации, делая это так, что вам нужно изменить только одну строку кода в случае изменений, не совместимых с обратным.