avito-tech / android-ui-testing Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Click on non-clickable view performs silently without any errors.
It's difficult to find a bug when it happens accidentally and it's better to check it manually.
Steps to reproduce:
Actual behavior:
Artifactory tasks completed without any sign of problems.
Expected behavior:
Artifactory task is failed
Which features to write about?
Which tests are missing?
problems with current design:
"what i don't like in espresso assertions" (already fixed):
assertJ Like:
assertThat([description], element).<autocomplete with typed assertions>
for grouped (not sure if it's possible just like that):
assertThat([description]) {
element.<assertion>
element2.<assertion>
}
https://github.com/robstoll/atrium has brilliant idea to leave top-level function naming and config open for library user, we should consider it too
EditTextTest
at com.avito.android.ui.test.EditTextTest.writesCyrillicText(EditTextTest.kt:33)
at java.lang.reflect.Method.invoke(Native Method)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:527)
...
Caused by: java.util.concurrent.ExecutionException: java.lang.NoSuchFieldException: No field mIInputContext in class Landroid/view/inputmethod/InputMethodManager; (declaration of 'android.view.inputmethod.InputMethodManager' appears in /system/framework/framework.jar!classes2.dex)
It's necessary to assert there no specified item in list.
It fails even I call .doesNotExist() on element
val view: PageObjectElement = typedItemByMatcher(withId(R.id.payment_loading_view))
will actually find item by position:
Check descendant view with id: com.avito.android.dev:id/payment_loading_view on 0-th item matching: holder with view
because it calls the overload typedItemByMatcher( matcher: Matcher<View>, position: Int = 0 )
Might be confusing.
DoD: user can compose the best runner for own needs, based on AndroidJUnitRunner
Useful hacks are not obvious, one has to know the internals of AndroidJUnitRunner to create a custom testing experience.
Here we introduce samples of what one can get.
Also, is it really appBar? not a collapsing layout?
load reports on test lab non zero result
The current implementation has several disadvantages:
operator fun get(position: Int): T
, first(): T
, last(): T
, etc.childFactory
creates only PageObjectElement
s, there is no way to create custom children for list itemAlso, ListActions
class has a few members that are not actions (like items
, translationY
, verticalOffset
, horizontalOffset
), we can make them private
Travis? circleCI?
We need best choice for instrumentation tests
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.