java - 无法在 Appium 中安装 apk 并启动应用程序

标签 java selenium-webdriver appium appium-android

我想安装 .apk 并启动应用程序以使用 appium 服务器执行任务,但它安装应用程序而不启动应用程序。下面是代码和appium日志

代码:

DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability("platformName", "Android");

    cap.setCapability("deviceName", device);
    cap.setCapability(CapabilityType.VERSION,version);
    cap.setCapability("app", "C:\\Users\\ab.chauhan\\AppData\\Local\\Android\\Sdk\\platform-tools\\AceApp.apk");
cap.setCapability("automationName", cfg.getAutomationName()); cap.setCapability ("appPackage", cfg.getAppPackage()); cap.setCapability ("appActivity", cfg.getAppActivity()); cap.setCapability("noReset", true);

driver = new AndroidDriver(new URL(cfg.getApplicationUrl()), cap); System.out.println(driver);

    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

Appium 服务器日志:

[ADB] Getting package info for 'io.appium.unlock' [ADB] Running 'C:\Users\ab.chauhan\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 93e6ecca0903 shell dumpsys package io.appium.unlock' [ADB] The installed 'io.appium.unlock' package does not require upgrade ('2.0.0' >= '2.0.0') [UiAutomator2] Forwarding UiAutomator2 Server port 6790 to 8202 [ADB] Forwarding system: 8202 to device: 6790 [ADB] Running 'C:\Users\ab.chauhan\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 93e6ecca0903 forward tcp:8202 tcp:6790' [ADB] Running 'C:\Users\ab.chauhan\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 93e6ecca0903 shell rm -rf /data/local/tmp/strings.json' [AndroidDriver] Extracting strings from apk [AndroidDriver] C:\Users\ab.chauhan\AppData\Local\Android\Sdk\platform-tools\AceApp.apk [AndroidDriver] undefined [AndroidDriver] C:\Users\AB1636~1.CHA\AppData\Local\Temp\"com.ionicframework.aceappclient150562" [ADB] Extracting strings for language: default [ADB] Successfully extracted 27 strings from 'C:\Users\ab.chauhan\AppData\Local\Android\Sdk\platform-tools\AceApp.apk' resources for '(default)' configuration

最佳答案

试试这个

AppiumDriver<MobileElement> driver    
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability("automationName", "UiAutomator2");
cap.setCapability("platformName", "Android");
cap.setCapability("deviceName", "Pixel");
cap.setCapability("avd", "Pixel");
cap.setCapability("uiautomator2ServerLaunchTimeout", 20000);
cap.setCapability("appPackage", "abc.xyz.qwe"); //Add app Package name
cap.setCapability("appActivity", "qwe.ewq.avc"); //Add app activity name
cap.setCapability("app", System.getProperty("user.dir") + "/AppBuilds/" + "abc.apk");
driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), cap );

关于java - 无法在 Appium 中安装 apk 并启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56880828/

相关文章:

java - Akka 远程处理 - 无法分配请求的地址

javascript - Selenium / python : extract text from a dynamically-loading webpage after every scroll

selenium - 如何使用 Firefox 驱动程序读取警报消息?

python - 我在使用 Selenium 时不断收到 "name"错误。我究竟做错了什么?

javascript - Protractor - 如何生成执行报告或在输出文本文件中显示 console.log 消息

ios - Appium:Ruby:使用 appium for iOS 进行分布式测试

java - PSQL异常 : ERREUR: realtion "table" doesn't exist

java - 升级到jdk版本7时出现Ant错误

java - 检索视频的缩略图

android - 找不到可以自动化 Chrome '53.0.2785' 的 Chromedriver