如何匹配来自不同类的两个页面对象文本?

时间:2017-11-08 23:16:04

标签: java selenium testing appium

我有两个有页面对象的类。如何检查它们是否在方法内匹配?我尝试使用contains和Assert.Equals并且很难弄明白。 obj1 = $ 455.00 /年obj2 = $ 455.00 /年。

Class A {

   AndroidFindBy(id="sdjl")
   private MobileElement obj1;

   public boolean example(String text) {
    String bodyText = obj1.getText();
    return bodyText.contains("$455.00");
}
   }

   Class B {
   AndroidFindBy(id="sjkl")
   private MobileElement obj2;


         public void exampleb() {
    String yearly = obj2.getText();
    class A v = new Class A(driver);

    Assert.assertEquals(yearly,v.example("$455.00"));
}


  }

2 个答案:

答案 0 :(得分:2)

<强>每年  是一个字符串类型对象,v.example(“$ 455.00”)返回true或false,一个布尔类型参数。

据我所知,Assert.assertEquals(param1,param2)采用齐次参数。如果第一个是字符串,第二个也必须是字符串

答案 1 :(得分:0)

这是检查字符串是否包含或等于example方法中的另一个字符串的方法。

class A {
    @AndroidFindBy(id = "android:id/sdjl")
    private MobileElement obj1;

    public String getObj1Value() {
        String bodyText = obj1.getText();
        return bodyText;
    }

    public void example() {
        B b = new B();

        String obj1Value = getObj1Value();
        String obj2Value = b.getObj2Value();

        boolean equals = obj1Value.equals(obj2Value);
        if (equals) {
            // ...
        }

        boolean contains = obj1Value.contains(obj2Value);
        if (contains) {
            // ...
        }
    }
}

class B {
    @AndroidFindBy(id = "android:id/sdjl")
    private MobileElement obj2;

    public String getObj2Value() {
        String yearly = obj2.getText();
        return yearly;
    }

    public void example() {
        A a = new A();

        String obj2Value = getObj2Value();
        String obj1Value = a.getObj1Value();

        boolean equals = obj2Value.equals(obj1Value);
        if (equals) {
            // ...
        }

        boolean contains = obj2Value.contains(obj1Value);
        if (contains) {
            // ...
        }
    }
}