有没有办法找出 QTP 中的链接是否被禁用?对于文本框和按钮,这很容易,我们可以使用 GetROProperty,然后将属性设置为禁用或可编辑等。但是在链接的情况下,没有这样的属性可以表明它被禁用。我们怎样才能知道它是否被禁用。
我在这里先向您的帮助表示感谢。
有没有办法找出 QTP 中的链接是否被禁用?对于文本框和按钮,这很容易,我们可以使用 GetROProperty,然后将属性设置为禁用或可编辑等。但是在链接的情况下,没有这样的属性可以表明它被禁用。我们怎样才能知道它是否被禁用。
我在这里先向您的帮助表示感谢。
根据 HTML 规范,链接(A 标记)不尊重“禁用”属性,因此如果您有一个“禁用”链接,那么您的开发人员已经做了一些特殊的事情来实现它。通常,“禁用”链接根本不是链接(应用了样式的文本,例如蓝色和下划线),或者默认行为通过 javascript 被覆盖,如下所示:
$('#link').click(function(e){
e.preventDefault();
});
还有许多其他方法可以达到效果。为了确定链接是否被禁用,您首先必须确定您的开发人员实际上是如何伪造“禁用”属性的行为的。根据您的发现,您可以通过检查类或其他属性来确定链接是否被禁用。
在我的情况下,如果 Web 链接被禁用,那么它会显示为 WebElement,如果它被启用,那么它会显示为 Link,反之亦然。因此,使用以下概念,我们可以检查任一 Web 链接是否已启用。
if Browser().Page().WebTable().WebElemnt().exist(0) Then
Reporter.reprotevent Micpass, "Link Status", "Link is disabled."
else if Browser().Page().WebTable().Link().exist(0) Then
Reporter.reprotevent Micpass, "Link Status", "Link is Enabled."
End IF