- Learning Android Application Testing
- Paul Blundell Diego Torres Milano
- 214字
- 2021-07-23 19:58:54
The TouchUtils class
Sometimes, when testing UIs, it is helpful to simulate different kinds of touch events. These touch events can be generated in many different ways, but probably android.test.TouchUtils
is the simplest to use. This class provides reusable methods to generate touch events in test cases that are derived from InstrumentationTestCase
.
The featured methods allow a simulated interaction with the UI under test. The TouchUtils
class provides the infrastructure to inject the events using the correct UI or main thread, so no special handling is needed, and you don't need to annotate the test using @UIThreadTest
.
TouchUtils supports the following:
- Clicking on a View and releasing it
- Tapping on a View (touching it and quickly releasing)
- Long-clicking on a View
- Dragging the screen
- Dragging Views
The following test represents a typical usage of TouchUtils
:
public void testListScrolling() { listView.scrollTo(0, 0); TouchUtils.dragQuarterScreenUp(this, activity); int actualItemPosition = listView.getFirstVisiblePosition(); assertTrue("Wrong position", actualItemPosition > 0); }
- Repositions the list at the beginning to start from a known condition
- Scrolls the list
- Checks for the first visible position to see that it was correctly scrolled
Even the most complex UIs can be tested in that way, and it would help you detect a variety of conditions that could potentially affect the user experience.
- 玩轉(zhuǎn)Scratch少兒趣味編程
- Progressive Web Apps with React
- 大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)驗(yàn)教程
- Boost C++ Application Development Cookbook(Second Edition)
- OpenNI Cookbook
- OpenShift在企業(yè)中的實(shí)踐:PaaS DevOps微服務(wù)(第2版)
- SAP BusinessObjects Dashboards 4.1 Cookbook
- SQL Server 2016數(shù)據(jù)庫應(yīng)用與開發(fā)
- 移動界面(Web/App)Photoshop UI設(shè)計(jì)十全大補(bǔ)
- Microsoft Azure Storage Essentials
- Test-Driven Development with Django
- OpenCV 3 Blueprints
- After Effects CC技術(shù)大全
- Software-Defined Networking with OpenFlow(Second Edition)
- 讀故事學(xué)編程:Python王國歷險記