Как проверить заголовок текстового поля в селене c# - PullRequest
1 голос
/ 05 мая 2020

В моем приложении на одной из страниц есть больше раскрывающегося окна и текстового поля. Я пытаюсь проверить заголовок каждого текстового поля и раскрывающегося списка, но я не могу создать правильный xpath для выполнения утверждения.

Ниже приведен код HTML этого текстового поля и раскрывающегося списка.

Заголовок текстового поля и раскрывающегося списка выглядит следующим образом:

Пожалуйста, выберите тип кредита:

Сколько вам нужно?

Срок ссуды

Тип занятости

 <div class="row">
                            <div class="col-md-6">
                                <label class="control-label" for="creditType">Please Select Credit Type:</label>
                                <select class="form-control" id="CreditType" name="creditType" required="" onclick="hideError(this)" onchange="onProductSelection()" onfocus="hideError(this)">
                                    <option value="1" id="inputDivMaster-1" selected="">Personal Loan</option>
                                    <option value="2" id="inputDivMaster-2">Credit Card</option>
                                    
                                </select>
                            </div>
                            <div class="col-md-6">
                                <label class="control-label" for="loanAmount">How Much Do You Need?</label>
                                <input type="text" class="form-control allownumericwithoutdecimal" id="loanAmountInput" name="loanAmount" placeholder="R500 - R249 999" pattern="\d*" maxlength="6" onclick="hideErrorById('loanAmount')" value="249999" onfocus="hideErrorById('loanAmount')">
                                <span class="dl-error-msg" id="loanAmountError" style="display: none;">&nbsp;</span>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6">
                                <label class="control-label" for="loanTerm">Loan Term (Months)</label>
                                <input type="text" class="form-control allownumericwithoutdecimal" id="loanTermInput" name="loanTerm" placeholder="1 - 84 months" pattern="\d*" maxlength="2" onclick="hideErrorById('loanTerm')" value="80" onfocus="hideErrorById('loanTerm')">
                                <span class="dl-error-msg" id="loanTermError" style="display: none;">&nbsp;</span>
                            </div>
                            <div class="col-md-6">
                                <label class="control-label" for="employmentStatus">Employment Type</label>
                                <select class="form-control" id="EmploymentStatusInput" name="employmentStatus" required="" onclick="hideErrorById('EmploymentStatus')" onfocus="hideErrorById('EmploymentStatus')"><option value="1">Permanent</option><option value="2">Temp/Seasonal/Casual worker</option><option value="3">Unemployed</option><option value="4">Pensioner</option><option value="5">Contract Worker</option><option value="6">Self Employed</option></select>
                                <span class="dl-error-msg" id="EmploymentStatusError" style="display: none;">&nbsp;</span>
                            </div>
                        </div>

Я не могу создать xpath для определения правильного веб-элемента для утверждения заголовка, поскольку класс Имя одинаково для всех текстовых полей. Изменяется только атрибут for.

Как правильно найти элемент. Пожалуйста, предложите подходящий xpath.

String actual_title = driver.FindElement(By.XPath("_____?______")).Text;
            String expected_title = "Please Select Credit Type:";
            Assert.AreEqual(actual_title, expected_title);
            Console.WriteLine("Text Box Title validated successfully");

1 Ответ

1 голос
/ 05 мая 2020

Вы можете использовать любой атрибут из веб-элемента как часть xpath. В этом случае вы можете использовать атрибут «для», например,

By.XPath("//label[@for='creditType']")
...