Есть ли способ взаимодействия с внутренним веб-сервером через XCUITests? - PullRequest
0 голосов
/ 02 марта 2020

У меня есть базовое c приложение, которое просто имеет несколько кнопок, и каждая кнопка загружает видео или игру на внутренний веб-сервер. При тестировании приложения, которое полностью перенаправляет вас в сафари, я должен настроить таргетинг на сафари, переключив свой комплект приложений следующим образом: XCUIApplication(bundleIdentifier: "com.apple.mobilesafari")

Мы не перенаправляем за пределы приложения с помощью этой инфраструктуры, и у нас просто есть локальная сеть на сервере, размещенном на localhost:7878, изменение идентификатора пакета для локального хоста, похоже, не работает. Я видел только нативные iOS приложения, работающие с переключателем bundleIdentifier.

Ниже приводится описание debugDescription после запуска внутреннего веб-сервера:

Attributes: Application, pid: 91571, label: 'Sample_MP'
Element subtree:
 →Application, 0x6000004bef40, pid: 91571, label: 'Sample_MP'
    Window (Main), 0x6000004bf020, {{0.0, 0.0}, {1366.0, 1024.0}}
      Other, 0x6000004bf100, {{0.0, 0.0}, {1366.0, 1024.0}}
        Other, 0x6000004bf1e0, {{0.0, 0.0}, {1366.0, 1024.0}}
          WebView, 0x6000004bf2c0, {{0.0, 0.0}, {1366.0, 1024.0}}
            Other, 0x6000004bf3a0, {{0.0, 0.0}, {1366.0, 1024.0}}
              Other, 0x6000004bf480, {{0.0, 0.0}, {0.0, 0.0}}
                Other, 0x6000004bf560, {{0.0, 0.0}, {0.0, 0.0}}
                  Other, 0x6000004bf640, {{0.0, 24.0}, {1905.0, 1428.0}}
                    Other, 0x6000004bf720, {{0.0, 24.0}, {1367.0, 980.0}}, label: 'Manuscript Player'
                      Button, 0x6000004bf800, {{0.0, -1362.0}, {32.0, 18.0}}, label: 'HOOK DIV'
    Window, 0x6000004bf8e0, {{0.0, 0.0}, {1366.0, 1024.0}}
      Other, 0x6000004bf9c0, {{0.0, 0.0}, {1366.0, 1024.0}}
    Window, 0x6000004b17a0, {{0.0, 0.0}, {1366.0, 1024.0}}
      StatusBar, 0x6000004b2680, {{0.0, 0.0}, {1366.0, 24.0}}
        Other, 0x6000004b2760, {{0.0, 0.0}, {1366.0, 24.0}}
          Other, 0x6000004b2840, {{0.0, 0.0}, {1366.0, 24.0}}
            Other, 0x6000004b2920, {{6.0, 5.5}, {673.5, 10.5}}
            StaticText, 0x6000004b2a00, {{16.0, 4.5}, {53.0, 14.5}}, label: '11:35 AM'
            StaticText, 0x6000004b2ae0, {{79.0, 4.5}, {65.0, 14.5}}, label: 'Thu Feb 27'
            Other, 0x6000004b2bc0, {{687.5, 5.5}, {673.5, 10.5}}
            Other, 0x6000004b2ca0, {{1276.5, 7.0}, {14.0, 10.0}}, identifier: '3 of 3 Wi-Fi bars'
            StaticText, 0x6000004b2d80, {{1295.5, 4.5}, {26.0, 14.5}}, label: '62%'
            Other, 0x6000004b2e60, {{1324.5, 6.0}, {26.5, 12.0}}, label: '62% battery power'
Path to element:
 →Application, 0x6000004bef40, pid: 91571, label: 'Sample_MP'
Query chain:
 →Find: Target Application 'com.Learning.Sample-MP'
  Output: {
    Application, pid: 91571, label: 'Sample_MP'
  }

Из того, что я заметил, iOS 13 больше не взаимодействует с WebView, но если я должны были go вернуться к iOS 12 или раньше, чем мои тесты обычно работали. Этого не произошло с внутренним веб-сервером.

...