Automated tests 如何解决Appium坏参数错误

Automated tests 如何解决Appium坏参数错误,automated-tests,appium,ui-automation,saucelabs,Automated Tests,Appium,Ui Automation,Saucelabs,当appium服务器显示错误时,我被错误卡住了 [MJSONWP]错误参数:错误参数错误:参数不正确。我们需要{“必需”:[“desiredCapabilities”],“可选”:[“requiredCapabilities”,“capabilities”,“sessionId”,“id”},您发送了[“desiredCapabilities”,“requiredCapabilities”,“capabilities”,“alwaysMatch”,“firstMatch”] 在eclipse中,

当appium服务器显示错误时,我被错误卡住了

[MJSONWP]错误参数:错误参数错误:参数不正确。我们需要{“必需”:[“desiredCapabilities”],“可选”:[“requiredCapabilities”,“capabilities”,“sessionId”,“id”},您发送了[“desiredCapabilities”,“requiredCapabilities”,“capabilities”,“alwaysMatch”,“firstMatch”]

在eclipse中,它显示错误

org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。所需功能=功能[{app=C:\Users\Admin\workspace\Sling\u app\src\app dev debug.apk}],所需功能=功能[{}]

我一直在使用5.0.0和4.1.2客户端jar

尝试使用硒3,3.3

我试过的Appium服务器是1.6.2、1.6.3和最新的1.6.4

什么也解决不了问题, 我读了大部分与此相关的文章,但没有用
请告诉我们是否有任何1个找到了解决此问题的方法。在理想情况下,我们需要通过6项功能(用于APK测试),如下所示:

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);
AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4727/wd/hub"), capabilities);
也可以启动appium webdriver而不是Android,如下所示

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);
AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4727/wd/hub"), capabilities);
我正在使用appium 1.6.4和java client 4.12以及selenium单机版2.53.1。 模拟器也需要AppPackage/AppActivity。 希望这对你有帮助


谢谢。

在理想情况下,我们需要通过6项功能(用于APK测试),如下所示:

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);
AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4727/wd/hub"), capabilities);
也可以启动appium webdriver而不是Android,如下所示

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);
AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4727/wd/hub"), capabilities);
我正在使用appium 1.6.4和java client 4.12以及selenium单机版2.53.1。 模拟器也需要AppPackage/AppActivity。 希望这对你有帮助


谢谢。

尝试添加
appPackage
appActivity
功能…我正在emulator上运行,但我已经这样做了,仍然没有用尝试添加
appPackage
appActivity
功能…我正在emulator上运行,但我也这样做了,仍然没有用,这个常量对象来自于另一个名为constant的类,在constant类中有一个appPackage作为静态变量。您可以对这些值进行硬编码。问题通过配置解决,另外我从代码中删除了apk路径,该常量对象来自何处我在常量类中有另一个名为constant的类和作为静态变量的appPackage。您可以对这些值进行硬编码。问题通过配置解决,再加上我从代码中删除了apk路径