当前位置: 首页 > 知识库问答 >
问题:

如何在selenium C#中验证文本框标题

雍河
2023-03-14

在我的应用程序中,其中一个页面有更多的下拉框和文本框,我正在尝试验证每个文本框和下拉框的标题,但我无法构造适当的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来定位正确的webelement来断言标题,因为所有文本框的类名都是一样的。

找到元素的正确方法是什么?请推荐合适的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个答案

夏侯臻
2023-03-14

您可以使用webelement中的任何属性作为XPath的一部分。在这种情况下,您可以像这样使用“for”属性,

By.XPath("//label[@for='creditType']")
 类似资料:
  • 因此,我有一个包含许多的表单,它们都需要填写。我研究了文本框验证,但我只能找到验证单个文本框的说明。下面是单数文本框验证的代码。我只是想知道是否有可能同时打击所有的人,而不是每个人都这样。任何帮助都将不胜感激!

  • 我对测试和selenium是个新手,有很多疑问,其中之一是我可以断言一个元素存在,但如何验证它实际上是什么,例如,如果我必须检查一个特定的字段是文本区域还是文本框.... 那么使用硒IDE有没有办法做到呢? 事先谢谢...

  • 问题内容: 如何在AngularJS的文本字段中验证IP?目前,我正在使用此代码,但并非在所有情况下都有效。任何想法 ? 问题答案: 用: 匹配0.0.0.0到255.255.255.255 如果您想删除,建议您添加其他语句。否则,正则表达式将太复杂。 观察者示例: 演示版 [编辑] 最好的选择是创建指令,例如:

  • 问题内容: 有没有可以验证CSS的库? 我可以找到的唯一工具是网站。如果这些站点之一具有API,那也很合适。 我有一个充当CSS编译器的脚本。它根据主题的设置设置各种变量,并生成和编写CSS文件。在致力于编写CSS文件之前,我想对其进行验证,以确保没有任何无效的条目。 PHP会很方便,但是Python,Perl,Ruby,Java或任何可从Shell执行的文件都可以。 理想情况下,我可以将某些东西

  • 我有一个网页,可以用来上传文件。现在我需要检查图像文件类型是否正确,如png、jpg、jpeg、gif 我使用的是请求附带的mimeType,但如果我加载的是重命名为.jpg文件的.txt文件,那么它也会显示mime类型image/jpg,基本上我不想上传这个文件。现在我想确保没有人能够上传一个在.jpg/.png中重命名的.txt文件。。。。 作为参考,我在这里放了一段代码: 上面这行只检查jp

  • 我在验证文本框中的用户输入时遇到了一些问题,我还没有找到解决方案。 基本上,该程序是一个BMI计算器,当用户选择“计算”按钮时,我正在尝试验证用户输入的“性别”、“身高”和“体重”。以下是我到目前为止的代码: 我需要验证这些输入的原因是,例如,如果用户为“高度”输入输入一个字符串或什么都不输入,计算将无法工作,因此程序将中断。我曾想过使用某种形式的布尔变量和循环来解决这个问题,但我对如何做到这一点