我有以下代码。
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]
关于为什么这个断言失败的任何想法?
答案 0 :(得分:1)
你的断言失败了,因为你正在比较两个对象的身份,一个布尔值和一个字符串。你应该比较一个布尔值或一个字符串。
此
randomRow.getAttribute("checked").equals("checked")
返回一个布尔值,你将它与字符串“checked”进行比较。你的断言应该是:
如果要检查该行是否具有“已检查”属性,则可以更简洁地编写断言:
Assert.assertEquals(randomRow.getAttribute("checked"), "checked", "YES is not selected");