2013-12-10 53 views
0

在我的測試我有一塊的browser.executeScript執行代碼,但也有一些錯誤與它,我不能修復browser.executeScript給出錯誤(Angularjs,量角器,單元測試)

這是瀏覽器。 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,它說,$範圍沒有定義
  2. 在我的window.location.href它說屬性'href'的對象[對象位置]不是一個函數(當我刪除href它說只有相同的位置)。

有沒有人知道如何解決這個問題?

+0

2.解決方法是:window.location =「https://www.mysite.nl/info?sid=」+ sidValue +「&filter = {nr:」+ receiptNumber +「}」; – Basman01

回答

3

executeScript在全局上下文中運行,其中$scope未由角度定義。如果您轉到Web控制檯並輸入$scope,則可以複製它。

您將需要查詢的內容範圍屬性,像這樣 angular.element(document.querySelectorAll('.your-element')[0]).scope()

那麼它看起來像@ Basman01有你的第二個問題的答案。