我正在针对真实设备使用Appium自动化android。我观察到如果我的脚本等待一段时间,例如10秒钟,然后调用driver.currentActivity()。这将导致以下异常:
org.openqa.selenium.WebDriverException: java.net.SocketException: Software caused connection abort: recv failed
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: '', ip: '', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_192'
Driver info: driver.version: AndroidDriver
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:233)
....
Caused by: java.net.SocketException: Software caused connection abort: recv failed
我试图用Google搜索它,但是似乎没有公开的问题。谁能建议可能出什么问题?这是自动化脚本:
public static void main(String[] args) {
try {
DesiredCapabilities oMobileCapability = new DesiredCapabilities();
oMobileCapability.setCapability("deviceName", "****");
oMobileCapability.setCapability("platformName", "Android");
oMobileCapability.setCapability("platform", "Android");
oMobileCapability.setCapability("appPackage", "****");
oMobileCapability.setCapability("appActivity", "****");
oMobileCapability.setCapability("language", "en");
oMobileCapability.setCapability("locale", "US");
oMobileCapability.setCapability("newCommandTimeout", 300);
AndroidDriver<AndroidElement> oDriver;
oDriver = new AndroidDriver<AndroidElement>(new URL ("http://localhost:4723/wd/hub"), oMobileCapability);
Thread.sleep(10000);
System.out.println("Wait Complete!");
System.out.println(oDriver.currentActivity());
oDriver.quit();
} catch (Exception e) {
e.printStackTrace();
}
}
我可以看到“等待完成!”,然后发生异常。我正在直接连接到本地Appium节点。
Appium: v1.9.1
Java: 8
java-client: 6.0.0
2月2日更新 在排除此问题的麻烦期间发现了此问题: Appium server automatically quit session while waiting