测试是否存在属性

时间:2017-04-26 15:39:29

标签: protractor cucumber bdd gherkin

我不确定是否可以完成,但是有可能写一个断言/期望通过某些内容(例如HTML元素属性)的存在与否通过吗?或者我是否因为一个或另一个版本失败而陷入困境?

我正在为anchor元素编写测试。测试期望是链接将在同一窗口中打开。

<a href="https://foo.com">Foo</a>

现在,正如任何Web开发人员都知道的那样,上面的示例就是这样做的。 ,此链接的第二个版本也是可能的:

<a href="https://foo.com" target="_self">Foo</a>

使用target是一种风格问题,在任何情况下肯定都是多余的。我有一些页面,其中target="_self"的存在与否似乎是任意的。

有任何建议或示例吗?

NB 我考虑将此作为失败的机会,并将其用作纠正“增强”中HTML的机会。&#34;哪个可以用不同的方式回答这个问题。

1 个答案:

答案 0 :(得分:0)

希望以下代码能满足您的要求。您可能需要更改锚元素定位器。

    element(by.xpath('.//*[text()="Foo"]')) 
      .getAttribute('target')
      .then(function(value){
           //this function gets executed only if target attribute is present
           },
           function(error){
             //this is a error case and will gets executed when target 
             //attribute is NOT present in the anchor element
           }
    );