我有一个问题,如何检查该按钮是否已禁用。如果按钮被禁用,并且我使用
Assert.IsTrue(driver.FindElement(By.XPath(OKButton)).Enabled, "OK button is disabled.");它不会发现按钮是禁用的。
如果启用了相同的按钮,并且我使用
Assert.IsFalse(driver.FindElement(By.XPath(OKButton)).Enabled, "OK button is enabled.");发现该按钮已启用。
以下是禁用按钮的代码:
<div id="expBtnOK" class="dxbButton_MetropolisBlue button btn-primaryOk dxbButtonSys dxbTSys dxbDisabled_MetropolisBlue" style="width:80px;-moz-user-select:none;">
<div id="expBtnOK_CD" class="dxb">
<input class="dxb-hb" value="OK" name="expBtnOK" disabled="" type="button"/>
<span class="dx-vam">OK</span>
</div>
</div>
<script id="dxss_381722429" type="text/javascript"> <!-- aspxAddHoverItems('expBtnOK',[[['dxbButtonHover_MetropolisBlue'],[''],[''],['','TC']]]); aspxAddPressedItems('expBtnOK',[[['dxbButtonPressed_MetropolisBlue'],[''],[''],['','TC']]]); aspxAddDisabledItems('expBtnOK',[[['dxbDisabled_MetropolisBlue'],[''],[''],['','TC']]]); var dxo = new MVCxClientButton('expBtnOK'); window['expBtnOK'] = dxo; dxo.Click.AddHandler(ExportTo); aspxAddSelectedItems('expBtnOK',[[['dxbf'],[''],['CD']]]); dxo.useSubmitBehavior = false; dxo.AfterCreate(); //--> </script>和启用按钮的代码:
<div id="expBtnOK" class="dxbButton_MetropolisBlue button btn-primaryOk dxbButtonSys dxbTSys dxbButtonHover_MetropolisBlue" style="width:80px;-moz-user-select:none;">
<div id="expBtnOK_CD" class="dxb">
<input class="dxb-hb" value="OK" name="expBtnOK" type="button"/>
<span class="dx-vam">OK</span>
</div>
</div>
<script id="dxss_381722429" type="text/javascript"> <!-- aspxAddHoverItems('expBtnOK',[[['dxbButtonHover_MetropolisBlue'],[''],[''],['','TC']]]); aspxAddPressedItems('expBtnOK',[[['dxbButtonPressed_MetropolisBlue'],[''],[''],['','TC']]]); aspxAddDisabledItems('expBtnOK',[[['dxbDisabled_MetropolisBlue'],[''],[''],['','TC']]]); var dxo = new MVCxClientButton('expBtnOK'); window['expBtnOK'] = dxo; dxo.Click.AddHandler(ExportTo); aspxAddSelectedItems('expBtnOK',[[['dxbf'],[''],['CD']]]); dxo.useSubmitBehavior = false; dxo.AfterCreate(); //--> </script>提前谢谢你的帮助。
发布于 2018-08-19 17:15:04
也许您不应该检查按钮是禁用的,但是当您单击它时,应用程序的状态不会改变。
因为检查它是否启用意味着您正在验证实现细节。如果程序员改变了按钮的解压方式,那么测试就会失败。
它看起来是不可点击的,当你点击时它不能触发一个事件,但是它仍然可以被启用。
我会检查工作流程是否正确。单击“提交”按钮,注意浏览器仍在提交表单页上,而不是下一步。
发布于 2018-06-10 00:39:10
这一点在这里和StackOverflow上都有很好的解释。
发布于 2018-07-20 06:20:56
您可以使用最简单的方法在Selenium web驱动程序c#中验证启用和禁用按钮。
IwebElement e1 = driver.FindElement(By.XPath("Your Xpath"));
//verify the button's Enabled property
if (e1.Enabled)
Console.WriteLine("Button is enabled");
else
Console.WriteLine("Button is disabled");https://sqa.stackexchange.com/questions/34120
复制相似问题