【发布时间】:2017-04-08 01:26:23
【问题描述】:
我正在使用 Espresso 为 Android 应用编写 UI 自动化测试。该测试将搜索条形码编号并查找相关项目,但此功能仅适用于美国用户。用户市场由设备语言(en_US、en_UK)标识。
如何编写此测试,以免每次运行英国的自动化测试时都不会失败?
我使用 XCTest 为 iOS 应用程序创建了一个检查设备当前语言的方法,从而实现了这一点。
class MarketChecker: XCTestCase {
func isUSLocale() -> Bool {
return Locale.current.identifier == "en_US"
}
func isGBLocale() -> Bool {
return Locale.current.identifier == "en_GB"
}
}
然后在测试开始时调用该方法:
if isUSLocale() {
<US specific test>
}
这使我能够运行相同的测试套件,而不会因我们的应用区域差异而导致失败。
不幸的是(对我而言)Espresso 不喜欢 if 语句,所以我不确定如何为 Android 应用程序实现这一点。任何见解都将不胜感激!
【问题讨论】:
-
这是什么编程语言?
-
@dazza5000 示例代码在 Swift 中。我正在尝试在示例代码中做同样的事情,但在 Java 中使用 Espresso 框架。 Espresso 允许
try/catch,但我不认为这是一个好的解决方案。
标签: android ui-automation android-espresso