【问题标题】:browser.executeScript gives errors (Angularjs,protractor,unittesting)browser.executeScript 给出错误(Angularjs,量角器,单元测试)
【发布时间】:2023-03-10 19:34:01
【问题描述】:

在我的测试中,我有一段由 browser.executeScript 执行的代码,但其中有一些我无法修复的错误

这是 browser.executeScript 代码:

browser.executeScript('var allcookies = document.cookie;
cookiearray = allcookies.split(";");
for (var i = 0; i < cookiearray.length; i++)
{
    name = cookiearray[i].split("=")[0];
    value = cookiearray[i].split("=")[1];
    console.log("Key is : " + name + " and Value is : " + value);
}
sidValue = value;
console.log(value);
console.log(sidValue);
receiptNumber = $scope.row.nr;
window.location.href("https://www.mysite.nl/info?sid=" + sidValue + "&filter={nr:" + receiptNumber + "}");');

我有两个问题:

  1. $scope.row.nr ,它说 $scope 没有定义
  2. 在我的 window.location.href 上,它说对象 [对象位置] 的属性“href”不是函数(当我删除 href 时,它只对位置说同样的话)。

有人知道如何解决这个问题吗?

【问题讨论】:

标签: unit-testing angularjs protractor


【解决方案1】:

executeScript$scope 未由 angular 定义的全局上下文中运行。如果您进入 Web 控制台并输入 $scope,您可以复制它。

您需要像这样查询元素范围属性 angular.element( document.querySelectorAll('.your-element')[0] ).scope()

那么看起来@Basman01 对你的第二个问题有答案。

【讨论】:

    猜你喜欢
    • 2014-08-04
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多