Appium(v1.4.16.1),当我第二次尝试切换到webview时切换到WebView失败。有什么我应该考虑的吗?
请在Android上使用Appium参考以下用例 -
在步骤2和步骤#4中,它是相同的WebView_1,但内容不同。说:第2步打开html-1,第4步打开html-2。
问题:我无法在步骤#4中切换上下文。
....下面是错误的一些日志
info:[debug]可用的上下文:NATIVE_APP,WEBVIEW_1 info:[debug]连接到支持chrome的webview info:[debug]响应客户端并出现错误:{" status":13," value":{" message":"未知服务器 - 处理命令时发生了侧面错误。 (原始错误:我们已经运行了一个chromedriver实例)"," origValue":"我们已经运行了一个chromedriver实例"}," sessionId" :" 38904ff5-928a-4dc0-AC8A-c7bc5f6504e4"}
答案 0 :(得分:1)
切换到webview,然后转向native_app会导致appium中的问题,我遇到了同样的问题,经过研究后我发现切换到webview时,chromedriver有时变得反应迟钝,appium等待chromedriver直到为appium定义超时因此出现这些问题,如何解决这个问题: 创建一个线程来监视chromedriver,当它挂起时,重新启动chromedriver。
Readymade解决方案:从https://github.com/mi2pankaj/chromeDriverHandler下载chromedriverhandler.jar,添加到您的项目中,
在beforeTest / beforeClass或测试开始时使用它: ChromedriverHandler.chromeDriverHandlerThread()开始();
在afterTest / afterClass中或在测试结束时使用它: ChromedriverHandler.chromeDriverHandlerThread()停止();
注意:您可能需要将这些添加到您的项目中:apache的httpclient-4.3.1.jar,httpcore-4.3.jar和json simple jar:json-20080701.jar
希望这有帮助。
答案 1 :(得分:0)
当我创建Selenium WebDriver / RemoteWebDriver的第二个实例并尝试连接到Appium服务器而没有准确关闭第一个实例时,我得到了完全相同的错误。在这方面,鸦片有点不耐烦。