前端单元测试登陆状态

发布于 2022-09-04 01:48:48 字数 715 浏览 19 评论 0

var request = require('superagent');
var expect = require('chai').expect;
var webservice = require('./settings.js');

describe('web', function() {
    it('test1', function(done){
        request
            .get(webservice+'/api/investManage/invest_manage/profile')
            .end(function(err, res){
                console.log(res)
                expect(res).to.be.an('object');
                done();
            });
    });
});

使用mocha测试框架进行单元测试,现在访问接口,可以得到返回的参数了,可是是未登录状态。
请问用过的朋友,怎么样在测试前先登陆状态?谢谢QAQ!

按自己的想法写了一下,还是没能保留登陆状态
clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

山川志 2022-09-11 01:48:48

你需要请求登录接口、解析 Cookies、在新请求上带上 Session Cookie

需要查相关文章的话,关键字:"爬虫、登录"

Updata:10.28


大概说一下登录状态的保留原理:
先访问登录接口,服务器返回登录成功。
返回报文内有 "set-cookie" 字段,浏览器接收到这个字段后会把指定的 cookie 记录下来,以后每次访问该服务器都会带上这个 cookie,服务器靠这个 cookie 判断你的登录状态的个人信息。

所以现在你要做的事是这样的:

访问登录接口,获取服务器返回报文中的 set-cookie 字段的值,然后在下一次请求中带上这个值

大致代码如下:

var serverCookie

someHttpReq
.post(singinUrl)
.send(something)
.end(function (err,res) {
  if (!err) {
    cookie = response.headers["set-cookie"];
    return
  }
}

//do something with cookie

someHttpReq
.post(otherUrl)
.send(something)
.setcookie(serverCookieKey,serverCookieValue)
.end(function(err,res){
    //do what you want to do
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文