【问题标题】:CSRF token is undefined when using protractor to test an AngularJS page使用量角器测试 AngularJS 页面时,CSRF 令牌未定义
【发布时间】:2014-05-10 00:44:05
【问题描述】:

我正在测试用户提交电子邮件和密码的注册页面。

当我手动测试页面时,它可以正常工作。问题是当protractor打开url时CSRF-token是undefined

 ptor.get('http://localhost:8000/client#/rmc');

在我的角度寄存器控制器中,我为帖子设置了 CSRF 令牌,如下所示:

 $http.defaults.headers.common["X-CSRFToken"] = $cookies.csrftoken;

量角器如何获取页面或如何初始化 Angular 应用程序有什么特别之处吗?

(我使用 Django 的默认 CSRF 中间件和 Django 测试服务器)

【问题讨论】:

    标签: angularjs csrf protractor


    【解决方案1】:

    回答我自己的问题:

    问题出在量角器/测试不是。当我手动检查页面时,我的浏览器中有一些旧的剩余 cookie 有角度使用。真正的问题是我不再发送 cookie。从一开始就进行端到端测试可能是一个很好的理由。

    【讨论】:

    • 您介意告诉我您如何在 Django 中处理这个问题吗?不是这个问题,而是 Django 和 Protractor 一起玩
    • @Antonio Laguna 不确定您所说的“一起玩”是什么意思。为了设置它,我遵循了官方的instructions 并将量角器与标准的本地 django 测试服务器一起运行。但您也可以针对临时站点或实时站点运行量角器测试。如果您的问题是关于如何与登录用户一起工作:Protractor 对此没有特殊功能。您必须注册一个新用户或使用以前创建的用户并让量角器填写登录表单。 (没有与 django 测试客户端类似的快捷登录方法)
    猜你喜欢
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2013-08-11
    相关资源
    最近更新 更多