2016年1月22日,星期五

如何在Espresso中创建自定义匹配器?



浓咖啡 允许我们创建自己的自定义匹配器,对我来说,这对于自动化确实非常有用。一旦我学会了如何使用它,便会使用许多自定义匹配器,因为它为我提供了自动化不同功能的灵活性。

影片教学-



unibet方案> 
您要unibet一个简单的登录屏幕,并检查是否输入为负或没有输入,然后显示错误消息,如图所示。
 浓咖啡 自定义匹配器示例
浓咖啡 自定义匹配器示例


unibet此内容的有效方法是使用客户匹配器。让我们看看如何创建自定义匹配器
1.使用以下代码在androidTest文件夹中创建一个类名称ErrorMatcher


public class ErrorMatcher {


        
 @NonNull

 public static Matcher<View> withError(final Matcher<String> stringMatcher) {

            return new BoundedMatcher<View, TextView>(TextView.class) {

                
 @Override

 public void describeTo(final Description description) {
                    description.appendText("error text: ");
                    stringMatcher.describeTo(description);
                }

                
 @Override

 public boolean matchesSafely(final TextView textView) {
                    return stringMatcher.matches(textView.getError().toString());
                }
            };
        }
    }

2.匹配逻辑是将TextView的子集仅与错误消息进行匹配。
3. describeTo方法用于调试输出。
4.然后,您可以在unibet用例中使用自定义匹配器,如下所示


@Test 

public void testLoginMandatory()
{
    onView(withId(R.id.email_sign_in_button)).perform(click());
    onView(ErrorMatcher.withError(Matchers.
            containsString("The field is required"))).check(matches(isDisplayed()));
}

我希望这篇文章可以帮助您找到unibet服的代码范围:)
请在下面的评论部分中分享您的反馈,并按照质量检查自动化以获取最新的帖子更新。HappyTesting :-)

3条评论:

  1. 嗨,您的分享很棒。
    如果可能,请分享您的GitHub链接。这将节省我们很多时间和生命。
    谢谢

    回复 删除
  2. 嗨Anuja,
    您的教程非常有帮助,它确实增加了很多信息技术以及学习新工具。
    您能否分享此视频中演示的项目的GitHub链接。

    谢谢,
    帕斯·沙

    回复 删除