我如何在 nightwatch js 中 verify/assert 下面的 html?

How do I verify/assert the html below in nightwatch js?

我有一个htmlclass

<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')
})

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

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

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

什么对你有用

改变

.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')

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