我正在尝试使用此代码比较两个数组,但是出现错误:java.lang.AssertionError


@Test(priority=4)
    public void content(){
        String[] x = {"Home", "Chatter", "Campsites", "Campsite Reservations", "Countries", "Table", "SPP Email Domain" };

        driver.findElement(By.xpath("//button[contains(@class,'salesforceIdentityAppLauncherHeader')]")).click();
        driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
        driver.findElement(By.xpath("//*[@title='Content']")).click();
        driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);   
        WebElement Lightning = driver.findElement(By.xpath("//span[text()='Content']"));
        boolean displayedStatus = Lightning.isDisplayed();
        Assert.assertEquals(displayedStatus, true);
        List<WebElement> text = driver.findElements(By.xpath("//span[@class='slds-truncate'][contains(@data-aura-rendered-by,':0;p')]"));
        System.out.println(text.size());
        List<String> all_elements = new ArrayList<>();  
        for(int i=0; i<text.size();i++){
        all_elements.add(text.get(i).getText());
        }
        System.out.println(all_elements);
        Assert.assertEquals(all_elements, x);

但错误是:

失败:内容 Java.lang.AsserTionError:期望[[[ljava.lang.string;@25BE7B63],但找到[[[家,聊天,营地,露营地,露营地预订,国家/地区,桌子,桌子,SPP电子邮件域]]

]

使用

List<String>转换为String[]
String[] converted_all_elements = all_elements.toArray(new String[0]); 

然后尝试一下,

Assert.assertArrayEquals( all_elements, x );

您正在遇到此问题,因为您将字符串数组与ArrayList进行了比较。

将您的" X"声明为arrayList,它应该有效:

列表x = new arraylist&lt;>(arrays.aslist(" home"," chatter"," campsites"," campsite forverations"," canders"," consife"," table"," spp email domain"(;

最新更新