0

我有以下代码。

String rowNum = Integer.toString(rand.nextInt(max - min + 1) + min);
WebElement randomRow = driver.findElement(By.xpath("/html/body/div/div/div/div/form/div/div[2]/div/div[2]/div/div/div/div/div/div/div/table/tbody/tr["+rowNum+"]/td/div/input")); 
Assert.assertEquals(randomRow.getAttribute("checked").equals("checked"), "checked", "YES is not selected");

基本上 randomRow 是表格中的随机行,我正在检查其中有一个单选按钮的第一列。单选按钮应具有checked="checked" 的属性。

当测试达到断言时,它会失败并显示以下内容:

YES is not selected expected [checked[ but found ]false]

关于为什么这个断言失败的任何想法?

4

1 回答 1

1

您的断言失败,因为您正在比较两个对象的身份,一个布尔值和一个字符串。您应该比较布尔值或字符串。

这个

randomRow.getAttribute("checked").equals("checked") 

返回一个布尔值,您将它与字符串“checked”进行比较。你的断言应该是:

如果您想检查该行是否具有“已​​检查”属性,您可以像这样更简洁地编写您的断言:

Assert.assertEquals(randomRow.getAttribute("checked"), "checked", "YES is not selected");
于 2012-12-11T15:08:13.233 回答