首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用NightwatchJS测试页面标题

用NightwatchJS测试页面标题
EN

Stack Overflow用户
提问于 2017-09-19 15:33:27
回答 3查看 2.7K关注 0票数 2

我需要检查一个网页的标题是否包含“主页”。

我尝试下面的browser.expect.element('title').text.to.contain('Homepage');,但是元素title总是空的。

任何其他元素都可以工作,但title的行为似乎不同。如何检查子字符串?

示例

作品:

代码语言:javascript
复制
browser
  .url('https://stackoverflow.com')
  .waitForElementVisible('body', 2000)
  .assert.title('Stack Overflow - Where Developers Learn, Share, & Build Careers');

不管用:

代码语言:javascript
复制
browser
  .url('https://stackoverflow.com')
  .waitForElementVisible('body', 2000)
  .expect.element('title').text.to.contain('Developers');

输出:Expected element <title> text to contain: "Developers" - expected "contain 'Developers'" but got: ""

然而,这是可行的:browser.expect.element('h1').text.to.contain('Learn, Share, Build');

似乎只有可见的元素才能被测试,所以我不知道如何检查隐藏的东西。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-20 12:33:53

只与可见元素交互。.

这样做是可行的:

代码语言:javascript
复制
   browser.getTitle(function(title) {
     this.assert.ok(title.includes("Homepage"));
   });
票数 4
EN

Stack Overflow用户

发布于 2020-06-05 08:41:14

似乎夜报中增加了标题方法。

使用断言,您可以检查整个标题https://nightwatchjs.org/api/#assert-title browser.assert.title("Nightwatch.js");

使用expect,您可以检查它的一部分,https://nightwatchjs.org/api/expect/#expect-title- browser.expect.title().to.contain('value'); startWithendWith也是可用的,甚至regexp检查browser.expect.title().to.match(/value/);

票数 1
EN

Stack Overflow用户

发布于 2020-06-05 18:00:22

我们已经创建了泛型命令,可以使用该命令,认为应用程序在()之前将等待超时设置,然后才会失败断言

代码语言:javascript
复制
exports.command = function waitForTitleContains(pageTitle) {
   this.expect
    .title().to.contain(pageTitle)
    .before(); //defaults to waitForConditionTimeout from nightwatch.conf
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46304441

复制
相关文章

相似问题

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