2016-10-28 35 views
0

我正面臨處理auth0彈出窗口的問題。任何導致我如何處理相同。如何處理量角器中的auth0(需要身份驗證)彈出窗口

注意: 1.量角器是我正在使用的。 2.框架:Jasmine(Nodejs)。

附件是截圖供參考。

Screenshot

感謝, 扎伊德

+1

請提供有關您的問題的更多信息。相關的HTML,您嘗試過的任何解決方案,您試圖解決的任何問題/錯誤等。 – Gunderson

+0

問題是:1。首先顯示一個auth0登錄彈出窗口(這是一個基於web的彈出窗口),我可以通過它進行銷售。 2.一旦我點擊登錄按鈕在步驟1,我得到瀏覽器身份驗證提示要求憑據)。這是我無法用量角器處理的。 嘗試解決方案:1。嘗試使用autoIt,但無法執行茉莉花/量角器的exe文件。我手動嘗試了https:// username:password/url.com的方法,我可以成功做到這一點。但是,當我嘗試通過量角器時焦點仍然保留在瀏覽器認證提示中。沒有運氣 –

回答

1

最後想出的解決方案。

我有一個生成auth0令牌的javascript。一旦令牌生成,我使用該令牌並將其設置爲瀏覽器cookie以及用戶憑證。這樣,當我點擊我想測試的應用程序url時,auth0瀏覽器特定的身份驗證提示不會顯示。

以下是代碼相同: var request = require('request');

this.performAuthoLogin = function() { 
    var defer = protractor.promise.defer(); 
    var credentials = { 
     "client_id": clientId, 
     "username": userName, 
     "password": password, 
     "id_token": "", 
     "connection": connectionName, 
     "grant_type": "password", 
     "scope": "openid", 
     "device": "api" 
    } 
    request({ 
     url: url, 
     method: 'POST', 
     json: true, 
     body: credentials, 
     headers: { 
      'Content-Type': 'application/json' 
     } 
    }, function(error, response, body) { 
     if (error) { 
      defer.reject(error); 
     } else { 
      authTokenId = body.id_token; 
      console.log(authTokenId); 
      var profile = { 
       username: userNameToLogin 
       email: emailId 
      } 
      browser.manage().addCookie("profile", profile, '/', applicationUrl) 
      browser.manage().addCookie("id_token", authTokenId, '/', applicationUrl); 
      defer.fulfill(body); 
     } 
    }); 
    return defer.promise;   
}; 
相關問題