首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查按钮是否已禁用

如何检查按钮是否已禁用
EN

Stack Exchange QA用户
提问于 2018-06-07 07:11:11
回答 3查看 34.1K关注 0票数 3

我有一个问题,如何检查该按钮是否已禁用。如果按钮被禁用,并且我使用

代码语言:javascript
复制
Assert.IsTrue(driver.FindElement(By.XPath(OKButton)).Enabled, "OK button is disabled.");

它不会发现按钮是禁用的。

如果启用了相同的按钮,并且我使用

代码语言:javascript
复制
Assert.IsFalse(driver.FindElement(By.XPath(OKButton)).Enabled, "OK button is enabled.");

发现该按钮已启用。

以下是禁用按钮的代码:

代码语言:javascript
复制
<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>

和启用按钮的代码:

代码语言:javascript
复制
<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>

提前谢谢你的帮助。

EN

回答 3

Stack Exchange QA用户

发布于 2018-08-19 17:15:04

也许您不应该检查按钮是禁用的,但是当您单击它时,应用程序的状态不会改变。

因为检查它是否启用意味着您正在验证实现细节。如果程序员改变了按钮的解压方式,那么测试就会失败。

它看起来是不可点击的,当你点击时它不能触发一个事件,但是它仍然可以被启用。

我会检查工作流程是否正确。单击“提交”按钮,注意浏览器仍在提交表单页上,而不是下一步。

票数 2
EN

Stack Exchange QA用户

发布于 2018-06-10 00:39:10

而不是断言,您应该使用isEnabled()函数

这一点在这里StackOverflow上都有很好的解释。

票数 0
EN

Stack Exchange QA用户

发布于 2018-07-20 06:20:56

您可以使用最简单的方法在Selenium web驱动程序c#中验证启用和禁用按钮。

代码语言:javascript
复制
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");
票数 -1
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/34120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档