java - 如何修复“原始错误:“命令”以代码 1 退出”;标准错误:''; 代码:'1''
问题描述
我是 appium 自动化测试的新手,我尝试使用 appium 和 java 运行一组代码,但这个错误总是返回给我,尽管我已经安装了 appium 和 nodejs 最新版本,我想在下面运行这个代码. 我尝试使用 appium 1.13.0 在 Windows 10 上运行以下代码,并且我已经安装了所有先决条件,例如 node js 和 appium 桌面客户端
package andriod;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
public class StartApplication {
private static AndroidDriver driver;
public static void main(String[] args) throws MalformedURLException, InterruptedException {
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "/Apps/");
File app = new File(appDir, "in.amazon.mShop.android.shopping_2019-09-11.apk");
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("autoGrantPermissions", true);
caps.setCapability("noReset", true);
caps.setCapability(CapabilityType.BROWSER_NAME, "");
caps.setCapability(MobileCapabilityType.DEVICE_NAME,"Redmi");
caps.setCapability(CapabilityType.PLATFORM_NAME, "ANDROID");
caps.setCapability(CapabilityType.VERSION, "9.0");
caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT,"60");
caps.setCapability("app", app.getAbsolutePath());
caps.setCapability("appPackage", "in.amazon.mShop.android.shopping");
caps.setCapability("appActivity", "com.amazon.mShop.home.HomeActivity");
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), caps);
driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);
Thread.sleep(10000);
driver.quit();
}
}
我希望代码将成功运行,但返回给我的错误消息与以下相同
原始错误:'命令'C:\Users\myusername\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s dd8fa21 shell pm install -g /data/local/tmp/appium_cache/728413456b86856a2003edeb524d6bd577ca6418。 apk' 以代码 1' 退出;标准错误:''; 代码:'1'
解决方案
问题出在命令本身,可能appium@beta
还没有配置。
如果您尝试自行运行该命令:adb -P 5037 -s dd8fa21 shell pm install -g /data/local/tmp/appium_cache/728413456b86856a2003edeb524d6bd577ca6418.apk
你会看到输出说:Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
-t
appium espresso 服务器生成的命令中缺少测试标志。
我通过手动安装apk运行解决了它:
adb -P 5037 -s dd8fa21 shell pm install -t -g /data/local/tmp/appium_cache/728413456b86856a2003edeb524d6bd577ca6418.apk
推荐阅读
- google-translate - 如何使用 google translate api 进行“文字”翻译而不是有意义的翻译?
- c# - 将参考项目升级到 .Net Standard 2.0 后无法编译 UWP 类库
- soapui - 如何获取测试步骤编号并将其打印在脚本日志中
- c# - 动作一次只处理一个请求
- python - 使用单核与 2+ 核时的页面错误是 10 倍
- scala - 如何在 Akka 中对远程 Actor 进行负载平衡?
- python - 如何从 Riot Games API 中提取数据?
- react-native - Expo - iOS 上的 ImagePicker 方面不起作用。仅正方形
- python-3.x - 我正在尝试使用 Python 3.6 制作聊天程序,但我认为我无法保持连接
- c# - 仅为 CSharpCompilation 的增量获取错误诊断