簡體   English   中英

無法驗證選中的復選框,Selenium Webdriver Java

[英]can't verify selected checkbox, Selenium Webdriver Java

在我的測試中,我想驗證選中的復選框。 下面是我的代碼

if (CheckboxForFirstCitizenship.isSelected()) {
        System.out.println("Checkbox selected");
    } else {
        System.out.println("Checkbox not selected");
    }
    if (CheckboxForSecondCitizenship.isSelected()) {
        System.out.println("Checkbox selected");
    } else {
        System.out.println("Checkbox not selected");
    }

我在 PageObjects class 中擁有的 Web 元素

@FindBy(xpath = "/html[1]/body[1]/ufe-root[1]/div[1]/div[1]/div[1]/ng-component[1]/div[1]/ufe-klient[1]/app-dashboard[1]/main[1]/div[1]/div[2]/app-individual-client-edit-container[1]/app-process-container[1]/app-local-loader[1]/div[1]/div[3]/app-individual-client-edit-client-data[1]/app-form-container[1]/p-accordion[1]/div[1]/p-accordiontab[1]/div[2]/div[1]/div[2]/div[1]/app-form-data-set-container[1]/div[1]/div[1]/app-individual-client-edit-personal-data-form[1]/app-data-container[1]/div[1]/div[2]/app-container-state[1]/div[1]/form[1]/div[1]/div[8]/div[1]/div[1]/app-individual-client-edit-citizenship-form[1]/div[2]/p-checkbox[1]/div[1]/div[2]")
@CacheLookup
public WebElement CheckboxForFirstCitizenship;

@FindBy(xpath = "/html[1]/body[1]/ufe-root[1]/div[1]/div[1]/div[1]/ng-component[1]/div[1]/ufe-klient[1]/app-dashboard[1]/main[1]/div[1]/div[2]/app-individual-client-edit-container[1]/app-process-container[1]/app-local-loader[1]/div[1]/div[3]/app-individual-client-edit-client-data[1]/app-form-container[1]/p-accordion[1]/div[1]/p-accordiontab[1]/div[2]/div[1]/div[2]/div[1]/app-form-data-set-container[1]/div[1]/div[1]/app-individual-client-edit-personal-data-form[1]/app-data-container[1]/div[1]/div[2]/app-container-state[1]/div[1]/form[1]/div[1]/div[8]/div[1]/div[2]/app-individual-client-edit-citizenship-form[1]/div[2]/p-checkbox[1]/label[1]")
@CacheLookup
public WebElement CheckboxForSecondCitizenship;

在此處輸入圖像描述

在測試結果中,盡管選擇了 firstCheckox,但我有兩個打印行“未選擇復選框”。 我做錯了什么? 有人可以幫忙嗎?

<p-checkbox _ngcontent-c26="" binary="true" class="control__hint ng-untouched ng-pristine ng-valid ng-star-inserted" label="Główne" id="main-citizenship-checkbox-0" style="" xpath="1">
    <div class="ui-chkbox ui-widget">
        <div class="ui-helper-hidden-accessible">
            <input type="checkbox" name="undefined" value="undefined">
        </div>
        <div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default ui-state-active"><span class="ui-chkbox-icon ui-clickable pi pi-check"></span></div>
    </div>
    <!---->
    <label class="ui-chkbox-label ui-label-active ng-star-inserted">Główne</label>
</p-checkbox>

為了能夠使用isSelected方法,您必須處理input type="checkbox"元素。
使用 css 選擇器#main-citizenship-checkbox-0 input作為第一個復選框。
可能對於第二個,它將是#main-citizenship-checkbox-1 input

@FindBy(css = "#main-citizenship-checkbox-0 input")
@CacheLookup
public WebElement checkboxForFirstCitizenship;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM