Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Appium会推动apk?_Java_Android_Appium - Fatal编程技术网

Java 为什么Appium会推动apk?

Java 为什么Appium会推动apk?,java,android,appium,Java,Android,Appium,我目前正在做一个安装平板电脑的自动化项目。我非常熟悉Selenium和Java。简单地说,以下哪一条线推动了apk?如果我想推送多个APK怎么办 public class AppiumTest { private static AndroidDriver<MobileElement> driver; @BeforeTest public void firstatest() throws MalformedURLException, InterruptedException {

我目前正在做一个安装平板电脑的自动化项目。我非常熟悉Selenium和Java。简单地说,以下哪一条线推动了apk?如果我想推送多个APK怎么办

public class AppiumTest {

private static AndroidDriver<MobileElement> driver;

@BeforeTest
public void firstatest() throws MalformedURLException, InterruptedException {

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("appium-version", "1.4.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "4.4.2");
capabilities.setCapability("deviceName", "0123456789ABCDEF");
capabilities.setCapability("app", "/Users/User/Documents/Appium/1.apk"); // ########
capabilities.setCapability("appPackage", "FILL-IN-INFORMATION"); // ########
capabilities.setCapability("appActivity", "FILL-IN-INFORMATION"); // ########
URL serveraddress = new URL("http://127.0.0.1:4723/wd/hub");
AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(serveraddress, capabilities);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
公共类应用程序测试{
专用静态AndroidDriver;
@试验前
public void firstatest()引发错误的DurException、InterruptedException{
DesiredCapabilities=新的DesiredCapabilities();
能力。设置能力(“automationName”、“Appium”);
能力。设置能力(“appium版本”、“1.4.0”);
能力。设置能力(“平台名”、“安卓”);
能力。设置能力(“平台版”、“4.4.2”);
能力。设置能力(“deviceName”、“0123456789ABCDEF”);
capabilities.setCapability(“app”,“/Users/User/Documents/Appium/1.apk”);//########
capabilities.setCapability(“appPackage”、“FILL-IN-INFORMATION”);//########
能力。设置能力(“appActivity”、“FILL-IN-INFORMATION”);//########
URL服务器地址=新的URL(“http://127.0.0.1:4723/wd/hub");
AppiumDriver=新的AndroidDriver(服务器地址、功能);
driver.manage().timeouts().implicitlyWait(60,TimeUnit.SECONDS);
}
AppiumDriver driver=新的AndroidDriver(服务器地址、功能);
上面的行将创建一个新会话,它将检查应用程序是否已安装。如果未安装,它将安装并打开应用程序

启动新会话时不能推送多个APK,但以后可以通过调用
driver.installApp(apkPath);
method来安装APK。

AppiumDriver driver=new AndroidDriver(服务器地址、功能);
上面的行将创建一个新会话,它将检查应用程序是否已安装。如果未安装,它将安装并打开应用程序

启动新会话时不能推送多个apk,但稍后可以通过调用
驱动程序.installApp(apkPath);
方法来安装apk。

对于问题1)哪一行推送apk

capabilities.setCapability("app", "/Users/User/Documents/Appium/1.apk");
如果您注释掉上面的行,Appium将不会在初始化驱动程序时安装应用程序。它将只搜索appPackage并重置应用程序

AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(serveraddress, capabilities);
看看是否可以通过功能或驱动因素来实现这一点是很有趣的。如果社区提出一些建议,我们将不胜感激。

对于问题1)哪一条线正在推动apk

capabilities.setCapability("app", "/Users/User/Documents/Appium/1.apk");
如果您注释掉上面的行,Appium将不会在初始化驱动程序时安装应用程序。它将只搜索appPackage并重置应用程序

AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(serveraddress, capabilities);

看看是否可以通过功能或驱动程序元素来实现这一点会很有趣。如果社区提出一些建议,我们将不胜感激。

如果我去掉这一行
AppiumDriver driver=new AndroidDriver(服务器地址,功能);
以及
appPackage
appActivity
capabilities,我的测试还会运行吗?我主要使用Appium作为批量准备平板电脑的工具(安装apk并自动更改设置)。最新的Appium不需要appPackage和appActivity capabilities。没有AppiumDriver=新的AndroidDriver(serveraddress,capabilities);无法安装行apk。如果您的目标是安装多个apk,则可以使用adb命令安装多个apk。如果我去掉这行
AppiumDriver driver=new AndroidDriver(serveraddress,capabilities);
以及
appPackage
appActivity
capabilities,我的测试还会运行吗?我主要使用Appium作为批量准备平板电脑的工具(安装apk并自动更改设置)。最新的Appium不需要appPackage和appActivity capabilities。没有AppiumDriver=新的AndroidDriver(服务器地址,功能);无法安装行apk。如果您的目标是安装多个apk,则可以使用adb命令安装多个apk。