我试图使用WireMock模拟Appium的行为。
我面临的问题是:我的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:无法创建新的远程会话“异常。
环境参考:
时代的Java的客户端:6.0.0
Selenium独立服务器:3.12.0
Java的Selenium客户端:3.12.0
请帮忙。
这似乎与WireMock无关?
也许你可以切换到.NET version from WireMock来模拟你的电话?