我使用Espresso框架为android应用程序创建自动化测试。但是对于任何测试,我都会运行-由于某种原因,应用程序在首页(用户登录后的第二页)上加注星标。我重新安装模拟器以确保它不会兑现任何东西-但是在首次测试运行之后(在第一步测试之前)-应用程序在主屏幕上运行。有人有这样的东西吗?
这里是一个片段,对咖啡说,开始测试时应该使用哪种活动。 (也请检查JUnit版本)。
@LargeTest
@RunWith(AndroidJUnit4.class)
public class clickButtonTest {
@Rule
public ActivityTestRule<YourActivityName> mActivityTestRule =
new ActivityTestRule<>(YourActivityName.class);
private YourActivityName mainActivity;
@Before
public void setActivity() {
mainActivity = mActivityTestRule.getActivity();
// Here you add required initializations / definitions
}
@Test
public void clickButton () {
// Click on button
onView(withId(R.id.button_id)).perform(click());
ActivityTestRule,您为Espresso提供了要执行的Activity,因此在您开始测试时将打开该视图。在这种情况下,您需要找到正确的活动,在这种情况下,应该是“用户登录”屏幕?要在您的应用程序中找到活动,您需要打开AndroidManifest.xml并找到合适的活动。 About AndroidManifest.xml
找到正确的活动后,将其填写到“ YouActivityName”块中。然后按需填写@Test。这取决于您计划如何设计测试用例,但是良好的实践是测试彼此独立,并且彼此之间不依赖,因为这通常会导致脆弱性。
[此外,也是阅读Espresso的有关Gradle,动画和其他内容的良好资源。 Espresso Setup