Java 使用Saucelabs和Appium为Android应用程序配置CI测试
我正在尝试获取我正在使用maven android插件创建的android应用程序,以便在Saucelabs和Appium上自动运行集成测试。到目前为止,我所尝试的一切只给了我一个错误“无法下载移动应用程序:c:\workspace\android\android it..\android app\target\android app.apk” 我正在集成测试pom文件中使用sauceconnect,配置如下:Java 使用Saucelabs和Appium为Android应用程序配置CI测试,java,android,maven,appium,saucelabs,Java,Android,Maven,Appium,Saucelabs,我正在尝试获取我正在使用maven android插件创建的android应用程序,以便在Saucelabs和Appium上自动运行集成测试。到目前为止,我所尝试的一切只给了我一个错误“无法下载移动应用程序:c:\workspace\android\android it..\android app\target\android app.apk” 我正在集成测试pom文件中使用sauceconnect,配置如下: <plugins> <plugin>
<plugins>
<plugin>
<groupId>com.saucelabs.maven.plugin</groupId>
<artifactId>sauce-connect-plugin</artifactId>
<version>1.0.15</version>
<configuration>
<sauceUsername>MY USERNAME</sauceUsername>
<sauceAccessKey>MY KEY</sauceAccessKey>
</configuration>
<executions>
<!-- Start Sauce Connect prior to running the integration tests -->
<execution>
<id>start-sauceconnct</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start-sauceconnect</goal>
</goals>
</execution>
<!-- Stop the Sauce Connect process after the integration tests have finished -->
<execution>
<id>stop-sauceconnect</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop-sauceconnect</goal>
</goals>
</execution>
</executions>
</plugin>
根据我在Saucelabs和Appium上读到的所有内容,这应该允许我的apk正确下载并在我运行maven构建时运行,但是,如上所述,情况似乎并非如此。如果有人能为我提供我所缺少的东西的指导,我将不胜感激。您正在尝试使用本地应用程序路径启动一个Sauce会话;由于该路径不可访问,因此无法从中下载APK 我假设您是您的应用程序,或者您的Maven配置在每次构建之前都会这样做。(额外提示:确保传递了
overwrite
参数,并使其为真!)
如果您将“应用程序”功能设置为“apk”功能(存储参考)所使用的值,您的测试应该能够下载您的应用程序。另一方面,我不确定您的测试使用的“apk”功能来自何方;酱汁实验室/Appium文档中的哪里引用了它
您也不再需要Appium 1.0的应用程序包
或应用程序活动
功能
尝试以下功能:
capabilities.setCapability("appium-version", "1.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "4.2");
capabilities.setCapability("deviceName", "Android Emulator");
capabilities.setCapability("deviceType", "phone");
capabilities.setCapability("app", "sauce-storage:my_app.apk");
capabilities.setCapability("takesScreenshot", true);
capabilities.setCapability("appium-version", "1.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "4.2");
capabilities.setCapability("deviceName", "Android Emulator");
capabilities.setCapability("deviceType", "phone");
capabilities.setCapability("app", "sauce-storage:my_app.apk");
capabilities.setCapability("takesScreenshot", true);