跳过正文
Background Image
  1. Posts/

Nightwatch 得到和验证 cookies

·315 字·1 分钟· ·
沈显鹏
作者
沈显鹏
目录

测试用例
#

验证登录 cookies 和清除 access_token。测试用例设计如下

测试用例设计
#

登录系统时,不选择记住我按钮,验证 cookies

client.getCookies(function cb(result) {
    this.assert.equal(result.value.length, 3);
    this.assert.equal(result.value[0].name, 'domain');
    this.assert.equal(result.value[1].name, 'user_id');
    this.assert.equal(result.value[2].name, 'access_token');
});

登录系统时,选择记住我按钮,验证 cookies

client.getCookies(function cb(result) {
    this.assert.equal(result.value.length, 5);
    this.assert.equal(result.value[0].name, 'domain');
    this.assert.equal(result.value[1].name, 'user_id');
    this.assert.equal(result.value[2].name, 'identifier');
    this.assert.equal(result.value[3].name, 'access_token');
    this.assert.equal(result.value[4].name, 'persistent_token');
});

登录系统时,不选择记住我按钮,删除 cookies

let accesstoken;
client.getCookies(function cb(result) {
    accesstoken = result.value[2].name;
    this.deleteCookie(accesstoken, function () {
        // refresh current page, logout
        this.refresh().waitForElementVisible('div.login-form', 5000);
    });
});

登录系统时,选择记住我按钮,删除 cookies

let accesstoken;
client.getCookies(function cb(result) {
    accesstoken = result.value[3].name;
    this.deleteCookie(accesstoken, function() {
        // refresh current page, still login
        this.refresh().waitForElementVisible('.andes-header', 5000);
    });
});

如何知道登录都有哪些参数
#

事先在手动测试的时候打开 chrome 浏览器,然后按 F12,登录时查看 Network。

以成功百度登录时为例,可以看到 Headers 里的参数,我们可以通过验证这些参数来确定登录成功了。

这样我们就可以这些参数来实现对 cookie,token 等等参数进行自动化测试的验证。

相关文章

Nightwatch 元素判断
·63 字·1 分钟
本文介绍了如何在 Nightwatch.js 中验证元素的存在性和状态,包括常用的验证方法和示例代码。
Nightwatch 测试用例失败继续执行
·193 字·1 分钟
本文介绍了如何在 Nightwatch 自动化测试中处理测试用例失败的情况,使得后续测试脚本能够继续执行,而不是中断。
Nightwatch 验证元素是否存在
·292 字·1 分钟
本文介绍了如何在 Nightwatch.js 中判断元素是否存在,并提供了示例代码。
Nightwatch 自动化测试中比较颜色
·290 字·1 分钟
本文介绍了如何在 Nightwatch.js 中处理颜色比较,包括获取元素的颜色值并与预期颜色进行对比的示例代码。
Nightwatch 获取接口返回数据
·270 字·1 分钟
本文介绍了如何在 Nightwatch.js 中通过接口自动生成和返回数据,并在测试用例中使用这些数据。
Nightwatch 异步操作
·213 字·1 分钟
本文介绍了如何在 Nightwatch.js 中处理异步操作,包括获取 License 数量并进行比较的示例代码。