Java 为什么Appium会推动apk?
我目前正在做一个安装平板电脑的自动化项目。我非常熟悉Selenium和Java。简单地说,以下哪一条线推动了apk?如果我想推送多个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 {
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。