Appium自动化:出现错误-org.openqa.selenium.WebDriverException:无法解析远程响应:参数不正确 [英] Appium Automation: Getting error - org.openqa.selenium.WebDriverException: Unable to parse remote response: Parameters were incorrect

查看:505
本文介绍了Appium自动化:出现错误-org.openqa.selenium.WebDriverException:无法解析远程响应:参数不正确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Java进行appium android自动化.下面是代码:

I am trying to do appium android automation using Java. Below is the code:

public class Main {

AppiumDriver driver;

@Before
public void setup() throws Exception{
    DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
    desiredCapabilities.setCapability("platformVersion","4.4");
    desiredCapabilities.setCapability("platformName","Android");
    desiredCapabilities.setCapability("app","/PATH_TO_APK");
    driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"),desiredCapabilities);
}

@After
public void tearDown(){
    driver.quit();
}

@Test
public void firstTest(){
    WebElement element = driver.findElementById("ELEMENT_ID");
    element.click();
}
}

下面是错误

org.openqa.selenium.WebDriverException: Unable to parse remote response: Parameters were incorrect. We wanted {"required":["desiredCapabilities"],"optional":["requiredCapabilities","sessionId","id","sessionId","id","sessionId","id","sessionId","id","sessionId","id","sessionId","id"]} and you sent ["desiredCapabilities","requiredCapabilities","capabilities"]
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'WGB01ML106163.local', ip: 'fe80:0:0:0:3e15:c2ff:febe:8ea0%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_131'
Driver info: driver.version: AndroidDriver

有人以前见过此错误吗?无法在Google上找到任何东西.请帮忙.

Has anyone seen this error before? Cant find anything on Google. Please help.

推荐答案

我们还需要在功能中传递"deviceName".

We also need to pass the "deviceName" in the capabilities.

 desiredCapabilities.setCapability("deviceName","Android");

此外,如果您在移动设备中进行混合/本地应用程序测试,我们还需要传递appPackage和appActivity.因此,结合所有强制性功能后,总体所需功能将与此类似.

Also, if you doing hybrid/native app testing in the mobile, we need to pass appPackage and appActivity also. So combining all the mandatory capabilities, overall desired capabilities will look similar to this.

public void setup() throws Exception
{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName","ANDROID");
capabilities.setCapability("platformVersion", "5.1");
capabilities.setCapability("platformName",Constant.appPlatform);
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("appPackage", Constant.appPackage);
capabilities.setCapability("appActivity",Constant.appActivity);

driver = new AndroidDriver(new URL("http://127.0.0.1:4727/wd/hub"),capabilities);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}

获取appActivity/appPackage的简便方法是与开发人员联系.如果不可能,请检查此=>

Easy way to get appActivity/appPackage is contacting your developer. If not possible check this=>appActivity/appPackage

此处提供了有关各种功能的更多详细信息.

More details about various capabilities are available here.

https://github .com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

这篇关于Appium自动化:出现错误-org.openqa.selenium.WebDriverException:无法解析远程响应:参数不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆