我以管理员权限启动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");
}
}
对于那些想要检查您是否使用正确的 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
我建议您在设备中安装该应用程序,并通过单独测试 appPackage 和 appActivity 参数来查看它是否正常工作。
您可以通过执行以下操作来确定您的appPackage和appActivity是否正确
adb shell
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
我解决了这个问题!
我所要做的就是将 JDK 添加到 Eclipse。在这里能找到它: 在Eclipse中设置JDK
右键单击您的项目>属性 选择左侧的“Java Build Path”,然后选择“JRE System Library”,点击Edit... 选择“工作区默认 JRE” 单击“已安装的 JRE” 如果您在列表中看到所需的 JRE,请选择它(选择 JDK 也可以) 如果没有,请单击“搜索...”,导航至“计算机”>“Windows C:”>“程序文件”>“Java”,然后单击“确定” 现在您应该看到所有已安装的 JRE,选择您想要的 单击确定/完成一百万次
我选择了 JDK 文件夹,而不是 JRE,并启动了应用程序。
谢谢大家!
在终端或cmd中尝试命令
adb uninstall io.appium.settings
adb uninstall io.appium.uiautomator2.server
adb uninstall io.appium.uiautomator2.server.test
adb uninstall io.appium.unlock
在使用“driver.resetApp()”运行测试之前,我忘记先手动启动应用程序。