我在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中會類似嗎? –