我有一个有三种不同构建类型的项目:debug、beta和Release。我的测试包总是为调试构建而创建的,但是QA使用的是beta构建,我们希望QA在他们大量的设备上运行这些测试。
我试图为QA创建一个测试apk,该apk由与beta构建相同的密钥签名。翻阅Android-Gradle文档,我没有看到任何东西告诉我不能这样做,但我没有看到任何配置它的东西。我是否可以配置在组装测试APK时使用的密钥库?或者有没有一种方法可以创建一个未签名的测试APK?
这对您的问题是一个不完整的回答,因为它记录了您不能做的事情,但是ConnectedAndroidTest
任务(在您的项目中运行AndroidTest
测试的任务)是硬编码的,以针对Debug
生成类型运行的,我看不到将其指向其他生成类型的方法。
参考以下建议:是否有一种方法在Gradle中列出任务依赖项?和检查任务依赖关系树时,如果运行:
./gradlew tasks --all
您可以在输出中得到以下内容:
Verification tasks
------------------
app:check - Runs all checks. [app:lint]
app:connectedAndroidTest - Installs and runs the tests for Build 'debug' on connected devices. [app:assembleDebug, app:assembleDebugTest]
app:connectedCheck - Runs all device checks on currently connected devices. [app:connectedAndroidTest]
app:deviceCheck - Runs all device checks using Device Providers and Test Servers.
ConnectedAndroidTest
任务的文档声明它针对Debug
运行测试,任务依赖项(您可以通过-all
标志看到)确认该任务依赖于AssembleDebug
。
添加其他生成类型和风格似乎不会影响对内置debug
类型的依赖关系。
如果Gradle-fu比我的Gradle-fu更大,您可能会重新连接任务,使测试依赖于不同的构建类型,但这样做很可能是脆弱的,因为它必然依赖于Android Gradle插件中不支持的API。
不过,为了最直接地回答您的问题,如果您只想对使用不同证书的生成运行测试,您可以更改debug
生成上的签名配置以使用beta证书:
android {
signingConfigs {
beta {
keyAlias 'key'
keyPassword 'password'
storeFile file('/path/to/beta_keystore.jks')
storePassword 'password'
}
}
buildTypes {
debug {
signingConfig signingConfigs.beta
}
beta {
signingConfig signingConfigs.beta
}
}
}
我对它进行了测试,并且能够通过这种方式对使用自定义密钥库的调试构建运行androidTest目标。但是,我怀疑这解决了您的问题,因为我怀疑您想要针对beta构建运行测试,而不是使用beta证书的调试构建。
我正在VSTS中使用“基于云的ApacheJMeter负载测试”任务执行JMeter脚本。我有一个响应断言作为JMeter测试的一部分。我能够通过VSTS中的发布定义触发测试。当断言失败时,我希望发布失败。目前,发布成功,并发出如下警告: 2018-02-21T18:23:31.1885342Z##[警告][异常] 1次出现['测试'、'HTTP请求'、'网络异常']:请下载测试日志以查看此url
在Android 19及以下版本上使用JunitParams运行程序时,我看到了一个异常。 使用最新的Android测试支持库编写简单的测试套件并在Android 19或更低版本上执行 下面的测试套件将重现这个问题 测试应该执行并通过。 不运行测试,因为"找不到测试" 我检查了日志,我看到以下异常发生。 下面是我的文件。
问题内容: 当我运行WebDriver测试时,它们根本无法工作。到目前为止,我已经完成了以下操作:1)我更新了注册表项,使其包含FEATURE_BFCACHE 2)所有区域的保护模式设置都相同3)禁用了增强保护模式4)我也尝试过在我的计算机上设置IEDriverServer路径 测试在Chrome,Firefox等上正常运行,但是在IE11上运行时,我得到: 我正在使用eclipse用Java编写
问题内容: 我使用的是大猩猩网络套接字,我想在本地运行它,是指使用以下chrome客户端或其他推荐的工具……当我进入调试模式时,出现错误 我用 当我在Chrome或网络套接字客户端中运行以下网址时,出现错误 websocket:不是websocket握手:在“连接”标头中找不到“升级”令牌 我想运行它 并为本地模拟提供令牌,我该怎么做? 要检查它,我使用Chrome的Simple WebSocke
我试图运行一个简单的登录测试,但我被困在这个。Appium不打开应用程序:( 下面是Java中的clode类: 有人知道我做错了什么吗?我是缺少任何导入还是语法错误?
我已经使用Appium和Java以及TestNG为Android应用程序编写了一些测试。我的测试在模拟器上本地运行良好,但当我将它们上传到设备场时,我的测试总是失败。我已经尽可能地简化了我的测试,但它仍然不起作用。目前,我尝试运行的测试会在打开应用程序时出现的提示中找到并单击“允许权限”按钮。代码: 观看Device Farm提供的视频,我可以看到它打开并立即关闭我的应用程序。它甚至没有像应该的那