Appium unknow error:处理命令时发生未知的服务器端错误。原始错误:重新安装需要“app”选项

问题描述 投票:0回答:5

我以管理员权限启动Appium 我使用appium高级设置中的允许会话覆盖

我想要的只是从我的设备启动一个应用程序,该应用程序已安装,但我收到此错误: 处理命令时发生未知的服务器端错误。原始错误:重新安装需要“app”选项

这是我尝试运行的代码

package appiumtests;

import java.net.URL;

import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;

public class Appiumtest {



    static AppiumDriver<MobileElement> driver;


    public static void main(String[] args) {

        try {
             openCasino();
        }catch(Exception exp) {
            System.out.println(exp.getCause());
            System.out.println(exp.getMessage());
            exp.printStackTrace();
        }       

    }

    public static void openCasino() throws Exception  {

        DesiredCapabilities cap = new DesiredCapabilities();


        cap.setCapability("deviceName","Mi A1");        
        cap.setCapability("udid","1d36c8469805");
        cap.setCapability("platformName", "Android");
        cap.setCapability("platformVersion", "9");
        cap.setCapability("appPackage", "eu.fortunagroup.casino.efortuna.ro.splashscreen.SplashScreenActivity");
        cap.setCapability("appActivity", "splashscreen.SplashScreenActivity.Casino");
        cap.setCapability("appWaitDuration,30000",true);
        cap.setCapability("", "");
        cap.setCapability("launchActivity ", "old.SplashActivity");
        cap.setCapability("newCommandTimeout", "3000");


        URL url = new URL("http://0.0.0.0:4723/wd/hub");    

        driver = new AppiumDriver<MobileElement>(url, cap);     

        System.out.println("Application Started");



    }   

}
java android selenium appium
5个回答
0
投票

对于那些想要检查您是否使用正确的 appPackage 和 appActivity 的人,请通过终端或 cmd 启动它。

如果此 adb 命令在您的真实设备或模拟器上启动您的 APK 文件,则意味着 [appPackage & appActivity] 有效。尝试使用活动名称或包,直到达到正确的值。

adb shell am start -W -n package_name/expected_activity_name -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000


0
投票

我建议您在设备中安装该应用程序,并通过单独测试 appPackage 和 appActivity 参数来查看它是否正常工作。

您可以通过执行以下操作来确定您的appPackage和appActivity是否正确

  1. 插入您的 Android 设备并启动应用程序
  2. 亚行设备
  3. 如果有设备连接。剥壳
    adb shell
  4. 运行这个
    dumpsys window windows | grep -E ‘mCurrentFocus’

参考图片。您将获得appPackage和appActivity。

请告诉我这是否适用于 2 个参数。

仍然无法工作?测试你的appActivity或appPackage是否正确
如果上述方法不起作用,请在安装的应用程序中执行此操作

adb shell am start -n com.package.name/com.package.name.ActivityName



如果这仍然不起作用,您很可能应用程序名称或应用程序活动不正确。


参考:https://medium.com/@ivantay2003/appium-desired-capability-basic-cheat-sheet-to-launch-mobile-application-ios-android-75b664367031


0
投票

我解决了这个问题!

我所要做的就是将 JDK 添加到 Eclipse。在这里能找到它: 在Eclipse中设置JDK

右键单击您的项目>属性 选择左侧的“Java Build Path”,然后选择“JRE System Library”,点击Edit... 选择“工作区默认 JRE” 单击“已安装的 JRE” 如果您在列表中看到所需的 JRE,请选择它(选择 JDK 也可以) 如果没有,请单击“搜索...”,导航至“计算机”>“Windows C:”>“程序文件”>“Java”,然后单击“确定” 现在您应该看到所有已安装的 JRE,选择您想要的 单击确定/完成一百万次

我选择了 JDK 文件夹,而不是 JRE,并启动了应用程序。

谢谢大家!


0
投票

在终端或cmd中尝试命令

adb uninstall io.appium.settings
adb uninstall io.appium.uiautomator2.server
adb uninstall io.appium.uiautomator2.server.test
adb uninstall io.appium.unlock

0
投票

在使用“driver.resetApp()”运行测试之前,我忘记先手动启动应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.