我知道围绕这个有很多问题,但我找不到任何可以帮助我的东西:(
我尝试使用Espresso为Android应用程序生成UI-Test.在击败依赖性问题之后(因为某些库在不同版本中被包含两次作为来自其他库的依赖)我仍然无法创建工作测试...
我知道IdlingResource,但正如我所读到的,espresso等待开箱即用,直到主线程和AsyncTaskPool空闲,然后再运行任何测试.
为了与它取得联系,我创建了一个包含两个活动的简单应用程序,一个启动画面和一个主要活动.在启动mainActivity之前,splashscreen包含等待三秒钟的内容
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
finish();
Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class);
startActivity(intent);
}
}, 3000);
Run Code Online (Sandbox Code Playgroud)
我也尝试使用AsyncTask,但似乎没有任何工作正常,因为每个测试都失败了.
该测试仅检查视图上是否显示包含已定义文本的TextView:
onView(withText("DummyText")).check(matches(notNullValue()));
Run Code Online (Sandbox Code Playgroud)
我认为创建一个简单的测试并不困难......
因为我要测试api> = 16我需要浓缩咖啡.仅仅对我来说,我使用uiAutomator检查它(我知道这是为了api> = 18)但是有一些智能逻辑可以等待某些东西显示.....并且完美地工作......
testing android automated-tests android-espresso android-uiautomator
这是我的问题:
我有一个存储在 Github 的库。该库包含本机代码以及处理 C++ 文件所需的一切。在本地,项目/库工作正常,但我想通过JitPack将该库作为依赖项包含在内。所以这就是问题开始的地方......
JitPack 似乎使用最新版本的 NDK,但这不是我可以构建代码的版本。目前,没有时间更新我的库,但找不到任何解决方案将 NDK 版本定义为项目的依赖项。
我知道ndk.dir可以定义 atlocal.properties但该文件不应该是 repo 的一部分。我想知道是否有办法告诉 JitPack 它应该使用哪个 NDK-Version 来构建依赖项。
我很好奇你们中是否有人已经遇到过类似的问题,以及是否有人知道如何解决它。
我很欣赏任何想法。:)
我只是偶然发现了一个问题,我还没有找到解决方案,所以我想我会问你:)
假设我有以下方法(Kotlin):
fun getValue(): SpannableString {
val value = "MyTestValue"
val subString = "Test"
// init spannable string
val spannableString = SpannableString(value)
// get position of substring
val position = value.indexOf(subString)
// insert span
spannableString.setSpan(BackgroundColorSpan(ContextCompat.getColor(context, R.color.yellow)), position, position + subString.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
// return result
return spannableString
}
Run Code Online (Sandbox Code Playgroud)
这是我的单元测试方法:
@Test
fun `value | on filter | returns correct value`() {
// define mock behavior
val model = TestUtils.getTestModel() //returns a test model
// init Observable
val observable = TestObservable(model)
// check …Run Code Online (Sandbox Code Playgroud) 我尝试在我的项目中使用可组合项GoogleMap,但现在我需要LatLngBounds可见的谷歌地图onMapLoaded,以便我能够在这个边界内加载一些 POI,但我找不到如何获取此信息的答案。
有人可以给我线索吗?
我尝试为我的 Android 应用程序创建一个 ui 测试,该应用程序完全由 jetpack compose 构建。我有一个屏幕,其中某个值显示两次,一次作为简单文本,第二次作为按钮标签。
在 ui 测试期间如何使用该文本选择按钮?
我搜索了很多,发现了一些有关符号属性的内容,因此您可以搜索具有 Button 类型角色的节点,但所描述的匹配器函数withRole不存在,所以我很好奇是否还有另一种我现在看不到的方法。
这是我找到的链接:
首先:我知道 JSON 应该包含一个带有键值对的数组,但它不是我的 API,所以我无法更改它。
响应如下所示:
{
"translations": {
"my.key.nr.0": "Value 0",
"my.key.nr.1": "Value 1",
"my.key.nr.2": "Value 2",
"my.key.nr.3": "Value 3",
},
"hash": "123xyz",
"length": 3,
"language": "de"
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我的 DTO:
data class TranslationsDto(
val translations: ??????????, // <-- dont't know what to use here
val hash: String?,
val length: Int?,
val language: String?
)
Run Code Online (Sandbox Code Playgroud)
最后,这是我的问题:
我需要解析我可以在我的应用程序中使用的 DTO 的响应(至少 Retrofit 应该解析响应)。如果 的值translations是一个数组,那就没有问题,但我不知道如何解析这个 JSON 结构。
也许你们有人有一些想法?
android ×5
testing ×2
android-ndk ×1
composable ×1
dto ×1
google-maps ×1
jitpack ×1
json ×1
kotlin ×1
ndk-build ×1
parsing ×1
retrofit2 ×1
uitest ×1
unit-testing ×1