के नीचे स्क्रॉल कैसे करें Espresso परीक्षण में स्क्रॉलव्यू के नीचे स्क्रॉल करना संभव है? धन्यवाद!एस्प्रेसो: स्क्रॉलव्यू
उत्तर
यदि स्क्रॉलव्यू के निचले भाग में आपको एक दृश्य ढूंढने और उसके खिलाफ कुछ मिलान करने की आवश्यकता है, तो इसे प्रदर्शित करने के लिए आवश्यक किसी अन्य क्रिया से पहले scrollTo()
कार्रवाई करें।
onView(withId(R.id.onBottomOfScrollView))
.perform(scrollTo(), click());
नोट: यदि दृश्य पहले से ही प्रदर्शित किया जाता है scrollTo कोई असर नहीं होगा तो आप सुरक्षित रूप से मामलों में यह उपयोग कर सकते हैं जब दृश्य
भी प्रदर्शित किया जाता है यू की कोशिश कर सकते हैं:
public Matcher<View> getConstraints() {
return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), isDescendantOfA(anyOf(
isAssignableFrom(ScrollView.class), isAssignableFrom(HorizontalScrollView.class), isAssignableFrom(NestedScrollView.class))));
यदि आपके पास android.support.v4.widget.NestedScrollView के अंदर एक दृश्य है स्क्रॉल के बजाय स्क्रू देखें() काम नहीं करता है।
मैं इस विधि को कहां/कॉल करूं? – Ixx
मुझे विश्वास है कि इस उत्तर में जो भी पूरी तरह से जागरूक नहीं है, उसके लिए जानकारी गुम है। कृपया पूर्ण उत्तर के लिए https://stackoverflow.com/questions/35272953/espresso-scrolling-not-working-when-nestedscrollview-or-recyclerview-is-in-coor जांचें –
पूर्णता (मोरोज़ोव के जवाब के आधार पर) के लिए, आप एक कस्टम ViewAction
बजाय scrollTo()
का जो उपयोग करने के लिए अनुमति देता है पारित कर सकते हैं, NestedScrollView
:
ViewAction customScrollTo = new ViewAction() {
@Override
public Matcher<View> getConstraints() {
return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), isDescendantOfA(anyOf(
isAssignableFrom(ScrollView.class),
isAssignableFrom(HorizontalScrollView.class),
isAssignableFrom(NestedScrollView.class)))
);
}
@Override
public String getDescription() {
return null;
}
@Override
public void perform(UiController uiController, View view) {
new ScrollToAction().perform(uiController, view);
}
};
और इस तरह इसका इस्तेमाल:
onView(withId(R.id.onBottomOfScrollView)).perform(customScrollTo, click());
जब nestedScrollview का उपयोग कर मैं सिर्फ swipeUp (आप नीचे जाने के लिए चाहते हैं) यहाँ .. एक उदाहरण कॉल किया जाता है:
onView(withId(R.id.nsv_container))
.perform(swipeUp());
- 1. एस्प्रेसो
- 2. एस्प्रेसो
- 3. एस्प्रेसो
- 4. एस्प्रेसो
- 5. एस्प्रेसो
- 6. एस्प्रेसो
- 7. एस्प्रेसो
- 8. एस्प्रेसो
- 9. एस्प्रेसो
- 10. एस्प्रेसो
- 11. एस्प्रेसो:
- 12. एस्प्रेसो
- 13. स्क्रॉलव्यू
- 14. स्क्रॉलव्यू
- 15. स्क्रॉलव्यू
- 16. स्क्रॉलव्यू
- 17. स्क्रॉलव्यू
- 18. स्क्रॉलव्यू
- 19. स्क्रॉलव्यू
- 20. स्क्रॉलव्यू
- 21. स्क्रॉलव्यू
- 22. स्क्रॉलव्यू
- 23. स्क्रॉलव्यू
- 24. स्क्रॉलव्यू
- 25. स्क्रॉलव्यू
- 26. स्क्रॉलव्यू
- 27. स्क्रॉलव्यू
- 28. स्क्रॉलव्यू
- 29. स्क्रॉलव्यू
- 30. स्क्रॉलव्यू
यह कैसे आ 'NestedScrollView' के साथ काम नहीं करता है? –
मैंने कोशिश नहीं की है, लेकिन इसे एक शॉट दें और इस मुद्दे के साथ एक नया प्रश्न लिखें – appoll
केवल तभी काम करता है जब आप अपने बच्चे के तत्वों को जानते हों - यदि आप अंतिम तत्व को नहीं जानते हैं तो क्या करना है? – PKAP