处理在两行中返回字符串值的元素

问题描述

我是 Perfecto 移动设备自动化的新手。我遇到了一个名称字段,它在应用程序的两行中返回值。如下图

School Name : ABCD
              INTERNATIONAL

我发现 Xpath 定位器为 //*[text()="ABCD INTERNATIONAL"],这会在两行中返回值,我在运行代码并断言该值时确认了这些值。所以基本上错误如下

expected [ABCD INTERNATIONAL] but found [ABCD
INTERNATIONAL]

我的特征文件就像

Feature: Verify the school Details
Scenario : Verify the school Name
Given User logs into Application
When User verifies the school name as "ABCD INTERNATIONAL"
Then user logs of

步骤定义:

@When("User verifies the school name as {string}")
    public void a_User_verifies_the_school_name_as (String Name) throws Exception {
         String School_Name = utility.getText(appiumDriver,"//*[text()="ABCD INTERNATIONAL"]);
           Assert.assertEquals(School_Name,Name);
    }

您对解决此问题的帮助意义重大。

解决方法

我认为您必须使用 replaceAll() 方法来修改实际和预期的字符串。

像replaceAll("\n","");和replaceAll(" ","")。然后在断言中比较两者。 如果它不起作用,则必须通过正则表达式使用模式匹配。