如何在nightwatch js中验证/断言下面的html?

时间:2016-06-07 02:46:34

标签: javascript nightwatch.js

我有一个html类

<a class="mobile-nav-btn" href="/news-mobile"><img src="img/news.svg" role="presentation"><span>Resources</span></a>

我试图点击,然后断言或验证上面是否存在。

.click('a[class="mobile-nav-btn"][href="/news-mobile"]')
.waitForElementVisible('body', 3000)
.url(function(response){
      console.log('the url is', response.value);
      this.assert.urlContains(response.value, 'news-mobile')
})

上面的点击失败,因为我的网址没有变化。我可以从我的控制台看到它。点击成功后。该课程转向mobile-nav-btn active。以下是我尝试验证的方法。它也失败了

.verify.elementPresent('a[class="mobile-nav-btn active"][href="news-mobile"]')

我如何实现这些目标?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

什么应该适合你

变化

.click('a[class="mobile-nav-btn"][href="/news-mobile"]')
.waitForElementVisible('body', 3000)
.url(function(response){
      console.log('the url is', response.value);
      this.assert.urlContains(response.value, 'news-mobile')
})

.click('a.mobile-nav-btn[href="/news-mobile"]')
.waitForElementVisible('body', 3000)
.url(function(response){
     this.assert.urlContains(response.value, 'news-mobile')
})

并且

.verify.elementPresent('a[class="mobile-nav-btn active"][href="news-mobile"]')

.assert.cssClassPresent('a.mobile-nav-btn[href="/news-mobile"]','active')

您的测试失败,因为您使用了错误的选择器。