我在Junit 4.11中使用WebDriver,并且我想断言默认情况下未选中复选框,并且要确定选择哪种构造方法。默认情况下,WebDriver与Junit默认选中复选框
以下是从DOM的复选框被选中之前:
<input type="checkbox" id="c234" name="instantAd" value="true" class="t-checkbox-A">
然后,一旦复选框变为选择了“检查”被添加,像这样:
<input type="checkbox" id="c234" name="instantAd" value="true" checked="" class="t-checkbox-A">
我试图如下:
WebElement checkBox = chrome.findElement(By.cssSelector("input.t-checkbox-A[name=\"instantAd\"]"));
new WebDriverWait(chrome, 5).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("input.t-checkbox-A[name=\"instantAd\"]")));
Assert.assertEquals("null",checkBox.getAttribute("checked"));
checkBox.click();
Assert.assertEquals("true",checkBox.getAttribute("checked"));
第一个断言失败。也许这是因为'checked'属性在DOM中不可见,只能猜测。
堆栈跟踪显示的是:
java.lang.AssertionError: expected: java.lang.String but was: null
我已经搜查了许多不同的职位,但没有给我答案林寻找,并检查http://junit.sourceforge.net/javadoc/org/junit/Assert.html的信息和指导时,(作为新测试自动化,即时通讯发现很难找出什么,我需要在我的构造。
任何帮助将非常感激。
尝试使用'.isSelected()'方法。所以通过'assertTrue'而不是'assertEquals'进行验证。这就是我们如何在Python中完成的,我想它在Java中会类似吗? –