我无法执行“click()”来跳过屏幕

Posted

技术标签:

【中文标题】我无法执行“click()”来跳过屏幕【英文标题】:I can't perform "click()" to skip a screen 【发布时间】:2017-11-13 16:11:28 【问题描述】:

Espresso Recorder 给我写了下一段代码:

ViewInteraction appCompatTextView2 = onView(allOf(withId(R.id.skipBtnTextView_BirthdayActivity), withText("Skip this step"), childAtPosition(allOf(withId(R.id.skipLayout_BirthdayActivity), childAtPosition(withClassName(is("android.widget.LinearLayout")),4)),1),isDisplayed()));
appCompatTextView2.perform(click());

运行后不起作用。我将其替换为:

onView(withId(R.id.skipBtnTextView_BirthdayActivity)).check(matches(withText("Skip this step")));
onView(withId(R.id.skipBtnTextView_BirthdayActivity)).perform(click());

但它也失败了。

android.support.test.espresso.PerformException: Error performing
'single click - At Coordinates: 539, 1359 and precision: 16, 16' on
view 'with id: com.ingenio.keen:id/skipBtnTextView_BirthdayActivity'.

谁能帮帮我?

【问题讨论】:

你能解释更多吗?你想跳过一个屏幕去另一个活动还是什么? @docbigolo 是的,完全正确。以前,我注册了一个新用户,导航到选择生日日期的屏幕并希望跳过它以进入主屏幕......但是在单击“跳过此步骤”按钮的步骤中我失败了。不知道,问题出在哪里……早先我并没有坚持这么简单的交易…… 【参考方案1】:

首先你应该像这样定义你的按钮/文本视图等:

Button button=(Button)findViewById(R.id.button);

你应该在你的 layout.xml 中给你的按钮一个 id

那么你应该写一个 setOnClickListener:

    button.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 


          Intent intent=new Intent(YourActivity.this,DestanationActivity.class);
          startactivity(intent);//you will go to home screen activity with this 

        
    );

【讨论】:

以上是关于我无法执行“click()”来跳过屏幕的主要内容,如果未能解决你的问题,请参考以下文章

尝试添加 --skip-broken 来跳过无法安装的软件包 或 --nobest 来不只使用最佳选择的软件包

使用 Nokogiri 和 Selenium,如果驱动程序无法执行命令,是不是可以跳过它?

微信iOS端无法执行jquery on()方法

Maven 跳过测试打包

如何通过使用标志或参数启动脚本来跳过部分 PowerShell 脚本

如何在 C# Regex 中使用lookbehind 来跳过重复前缀模式的匹配?