我正在尝试检查Espresso是否显示视图.这是一些伪代码来显示我正在尝试的内容:
if (!Espresso.onView(withId(R.id.someID)).check(doesNotExist()){
// then do something
} else {
// do nothing, or what have you
}
Run Code Online (Sandbox Code Playgroud)
但我的问题是.check(doesNotExist())不返回布尔值.这只是一个断言.使用UiAutomator,我能够做到这样的事情:
if (UiAutomator.getbyId(SomeId).exists()){
.....
}
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,我想以$ x的价格向公众发布,但是,我想允许免费下载Google Developer Console Alpha/Beta APK.我希望测试人员能够免费下载吗?我怎么做?
提前致谢,
PS.我发誓我在Google上找到了链接,但我似乎无法再找到它.
我正在使用第三方库(Twitter4j)开发Android应用程序.我希望能够在JUnit和功能测试中模拟那些对象(也是我创建的对象).
您是否有使用某些模拟库的好经验,您可以推荐它们吗?
我试图使用Espresso点击列表视图中的文本.我知道他们有这个指南,但我看不到如何通过查找文本来完成这项工作.这就是我尝试过的
Run Code Online (Sandbox Code Playgroud)Espresso.onData(Matchers.allOf(Matchers.is(Matchers.instanceOf(ListView.class)), Matchers.hasToString(Matchers.startsWith("ASDF")))).perform(ViewActions.click());
正如所料,这不起作用.错误表示层次结构中没有视图.有谁知道如何选择一个字符串?("ASDF"在这种情况下)提前谢谢.
我收到错误:
com.google.android.apps.common.testing.ui.espresso.AmbiguousViewMatcherException:'可从类中分配:class android.widget.AdapterView'匹配层次结构中的多个视图.
有了这段代码
Run Code Online (Sandbox Code Playgroud)onData(hasToString(startsWith("ASDF"))).inAdapterView(withContentDescription("MapList")).perform(click());
我收到这个错误
com.google.android.apps.common.testing.ui.espresso.PerformException:在视图'上执行'加载适配器数据'时出错,内容描述为:"MapList"'.
引起:java.lang.RuntimeException:找不到匹配的数据:asString(以"ASDF"开头的字符串)
昂达(任何()).inAdapterView(withContentDescription( "降序")).atPosition(X).perform(点击())
我已经发布了我的应用程序进行alpha测试,但无法从Play商店下载.
我已经打开URL" https://play.google.com/apps/testing/com.* ",并接受是一个测试,现在它为我"你是一个测试".但是,当我点击"从Play商店下载"链接时,它会在我的测试设备游戏商店中显示"找不到商品",并在桌面浏览器中显示"未找到请求的URL".
我在stackoverflow中经历了一些类似的帖子,但没有明确的答案.对某些人来说,它看起来像是自动解决了,有些人不够幸运.
有没有办法在控制台输出中打开测试日志记录?
我知道我们可以查看HTML文件中生成的测试结果并检查那里的标准输出,但我发现它有点不方便.
我知道有一种方法可以使用标准的java插件来做到这一点:
test {
testLogging {
events "passed", "skipped", "failed", "standardOut", "standardError"
}
}
Run Code Online (Sandbox Code Playgroud)
但在Android项目中使用它会导致错误:
Could not find method test()
Run Code Online (Sandbox Code Playgroud)
当然,应用java插件是不可接受的,因为它与Android插件不兼容.
有没有办法使用Espresso测试小吃店出现的正确文字?
我有一个简单的电话来创建一个小吃吧
Snackbar.make(mView, "My text", Snackbar.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
我没有运气就试过这个
onView(withText("My text")).inRoot(withDecorView(not(is(mActivityRule.getActivity().getWindow().getDecorView())))).check(matches(isDisplayed()));
Run Code Online (Sandbox Code Playgroud) android integration-testing android-testing android-espresso android-snackbar
我正在尝试使用此行运行测试...但是这会启动所有测试:
./gradlew -DconnectedAndroidTest.single=LandingActivityTests connectedAndroidTest
Run Code Online (Sandbox Code Playgroud)
我该如何进行单一测试?
我正在使用新的Android测试支持库(com.android.support.test:runner:0.2)来运行Instrumentation Tests(aka Device或Emulator Tests).
我用我的测试类注释@RunWith(AndroidJUnit4.class)并使用Android Studio来运行它们.
对于我的测试用例,我需要一个Context实例.我可以得到它,InstrumentationRegistry但它有两个上下文相关的方法,并不清楚有什么区别.
InstrumentationRegistry.getContext()vs 之间有什么区别InstrumentationRegistry.getTargetContext()?
在我以前的项目中,我通过活动完成了大部分工作,并根据文档使用了ActivityInstrumentationTestCase2:
http
://developer.android.com/tools/testing/activity_testing.html
我知道如何使用Activity Test Cases ; 但是当谈到Fragment时,我没有太多的想法,也没有找到与此相关的文档.那么当我有几个片段有一个或两个活动时,如何编写测试用例?任何示例代码或示例都会更有帮助.
android ×10
android-testing ×10
google-play ×2
unit-testing ×2
java ×1
mocking ×1
robotium ×1
testing ×1