我正在尝试在工作中构建一些自动化测试来测试我们拥有的一组 Android 应用程序。我喜欢构建应用程序和运行自动化测试(因为 UiAutomator 需要 minApi 18 或更高版本,但我们希望支持手机回到 Api 15)。我们还有用于开发、发布、登台和调试的构建类型。
我可以在每种构建类型的任何应用程序上运行 AppBuilder 风格,没有问题。但是,当我尝试运行自动化测试时,我只能在应用程序的调试版本上运行它们,并且我也需要能够在其他类型上运行它们。
我尝试将它们作为 JUnit 测试运行,但它们产生错误“空测试套件”。我也将它们作为 Android Instrumented Tests 运行,但它们不会运行,因为他们说该类不是测试类。
此外,当我构建自动化类时,我的大部分导入都会变成红色并显示“无法解析符号”错误(主要是我的 junit 导入和 uiautomator 导入)。
我已经寻找了好几天可能的解决方案,但还没有找到任何解决方案。我的 build.gradle 依赖项中有 "testImplementation 'junit:junit:4.12'"
和 "androidTestImplementation 'junit:junit:4.12'"
,我尝试过使缓存无效并重新启动,并且尝试清除所有配置并将它们放回原处(但可能做得不正确),但这些都不起作用。
如有任何帮助,我们将不胜感激!
最佳答案
我终于偶然发现了这篇文章,它有一个似乎有效的答案: Cannot resolve symbol 'AndroidJUnit4'
我只是输入了 testBuildType "develop"
和 testBuildType "staging"
以允许我的自动化测试在应用程序的开发和登台类型上运行
关于java - 无法在某些构建类型上运行自动化 Android 测试? JUnit 和 UiAutomator 导入无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53770169/