Я пытаюсь имитировать поведение Appium с помощью WireMock.
Проблема, с которой я сталкиваюсь: моя заглушка POST может ответить мне кодом ответа, который я установил (который я отслеживал с помощью Wireshark), но он выдает исключения, связанные с созданием сеанса.
Заготовки POST, которые я пытался создать для справки:
- Испытание 1:
wireMockRule.stubFor(post(urlEqualTo("/wd/hub/session”)).
withRequestBody(matching(“JSON representation of set of desired capabilities specific to application"))
.willReturn(aResponse().
withStatus(200).
withHeader("Content-Type", "application/json”).
withBody("{\"sessionId\":\"e523dc70-c068-46e7-b966-8462401119b4\",\"status\":0,\"value\":\"Created Session\"}")));
Исход: «Невозможно создать новый сеанс, потому что исключение createSession, которое принимает HttpClient, InputStream и long, не найдено или недоступно».
Испытание 2: Только что удалил тело запроса из заглушки выше
wireMockRule.stubFor(post(urlEqualTo("/wd/hub/session”))
.willReturn(aResponse().
withStatus(200).
withHeader("Content-Type", "application/json”).
withBody("{\"sessionId\":\"e523dc70-c068-46e7-b966-8462401119b4\",\"status\":0,\"value\":\"Created Session\"}")));
Исход:
org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session” exception.
Ссылка на среду:
Java-клиент Appium: 6.0.0
Автономный сервер Selenium: 3.12.0
Селен-клиент Java: 3.12.0
Пожалуйста помоги.
На самом деле это не похоже на WireMock?
Может, можно переключиться на Версия .NET от WireMock для имитации ваших звонков?