我正在为Android编写一些Espresso测试.我正在运行以下问题:
为了使某个测试用例正常运行,我需要在应用程序中禁用某些功能.因此,在我的应用程序中,我需要检测我是否正在运行Espresso测试,以便我可以禁用它.但是,我不想使用BuildConfig.DEBUG,因为我不希望在调试版本中禁用这些功能.此外,我想避免创建一个新的buildConfig,以避免创建太多的构建变体(我们已经定义了很多风格).
我一直在寻找一种方法来定义buildConfigField以进行测试,但我在Google上找不到任何引用.
截至昨天的Google IO Keynote,我们在项目中进行UI测试的方式似乎有了重大更新.
由于采用了新的测试记录功能,自动测试即将迈出一大步.开发人员将能够开始录制并开始使用他们的应用程序.在执行每个操作时,它会转换为Espresso代码,可以在多个平台上播放,包括Google的云测试实验室.这可能会缩短将测试编写为过去十分之一的时间.
我安装了最新版本的Android Studio 2.2 Preview 1,我想知道如何启用此功能.
testing android ui-testing android-espresso android-espresso-recorder
我关闭了开发者选项的所有动画.但是当我尝试点击其中一个按钮时,我仍然会遇到此异常.
我的应用确实是活跃的,并没有完全闲置,但我无法改变它.
android.support.test.espresso.AppNotIdleException: Looped for 6930
iterations over 60 SECONDS. The following Idle Conditions failed .
at dalvik.system.VMStack.getThreadStackTrace(Native Method)
at java.lang.Thread.getStackTrace(Thread.java:580)
at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:92)
at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:56)
at android.support.test.espresso.ViewInteraction.runSynchronouslyOnUiThread(ViewInteraction.java:184)
at android.support.test.espresso.ViewInteraction.doPerform(ViewInteraction.java:115)
at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:87)
Run Code Online (Sandbox Code Playgroud) 我刚刚学习了Xcode中的单元测试.现在我正在尝试Xcode 7,当我创建一个新项目时,我看到有一个新的UI测试组.
我观看了WWDC 2015视频并且它非常好,但你有一个超级简单的例子,我可以自己完成吗?视频示例对我来说有点过于复杂.
笔记
我正面临一个问题,使用UITestingApple在2015年WWDC上引入的xCode框架.我有一个UITableView,这个表包含很多单元格.我还有一个带有单元格标题的NSArray - 如果NSArray中包含单元格标题,则应该点击该单元格.我的问题是我无法滚动特定单元格的表格视图,因为框架不包含处理表格视图的方法,只有滑动手势(向下,向上).
也许有人知道如何在表视图中点击特定的单元格?或者我如何滚动特定单元格的表视图?因为当我调用tap()在屏幕上看不到的单元格的方法时 - 没有任何反应.
提前致谢!
但ExampleInstrumentedTest 正在工作。
这是我的测试文件,我已经注释掉了所有内容,留下了一个空函数
@RunWith(AndroidJUnit4ClassRunner::class)
class ExploreFragmentTest {
@get: Rule
val activityRule = ActivityScenarioRule(MainActivity::class.java)
@Test
fun test_isSearchButtonDisplayed() {
//onView(withId(R.id.btn_search)).check(matches(isDisplayed()))
}
}
Run Code Online (Sandbox Code Playgroud)
这是我对 app/gradle 的依赖
// AndroidX Test - Instrumented testing
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test:rules:1.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'
Run Code Online (Sandbox Code Playgroud)
我只是想从运行Selenium的人那里得到一些意见(http://selenium.openqa.org)我在WaTiN方面有很多经验,甚至还为它写了一套录音套件.我有它生成一些结构良好的代码,但只是由我维护,似乎我的公司几乎放弃了它.如果你已经运行了硒,你有很多成功吗?我将使用.NET 3.5,Selenium能很好地使用它吗?生成的代码是干净的还是只是所有交互的列表?(http://blogs.conchango.com/richardgriffin/archive/2006/11/14/Testing-Design-Pattern-for-using-WATiR_2F00_N.aspx)分布式测试套件的公平性如何?
任何其他抱怨或赞美系统将不胜感激!
这两者的不同目的是什么?我的意思是,在哪种情况下我应该做他们每个人?
至于例子条件.如果你有后端服务器和几个前端网络,你会做哪一个?首先对后端服务器进行单元测试,或者首先在网络用户界面进行UI测试?鉴于条件,服务器和前端网络已经存在,因此它不是与(TDD)一起构建的迭代设计......
听起来像一个愚蠢的问题,但我想知道如何导入带空格的模块?
我正在关注此链接添加测试用例,但我的项目有一个空格foo bar.那么我应该如何导入使用@testable
@testable import foo bar 抛出错误
我正在尝试在我的React Native Android应用程序上使用Espresso进行一些UI测试,以使用Fastlane的Screengrab.
我已按照本教程在现有应用程序中集成React Native以便能够编写测试.但是当我开始编写UI测试时,我无法找到要编写的内容以及如何定位组件并对其执行单击操作.
我找到了这篇文章,其中有人举例说明如何为React Native编写Espresso Test但它对我不起作用...我的组件都没有设置资源ID,所以我不知道如何执行某些操作我的应用程序.
如果有人可以帮我在React Native应用程序上用Espresso编写UI测试,或者给我另一个解决方案来获取我的Android应用程序的自动截图,那将是非常棒的.
如果您有任何疑问,请告诉我.
ui-testing ×10
android ×5
ios ×3
unit-testing ×2
xcode7 ×2
fastlane ×1
react-native ×1
selenium ×1
swift ×1
testing ×1
xcode ×1