2017-06-19 5 views
1

現在、いくつかの認証でステージング環境を管理しています。投射器/セレンの埋め込み資格がクロムのサポートを無効にしました

私はこのようなURLに資格情報を埋め込むことで、私のテストを実行することができた。しかし、私のテストは、この機能(https://www.chromestatus.com/feature/5669008342777856)を落とし、理由クロム失敗

https://johndoe:[email protected]/#login

。ステージングサイトにアクセスできる他の方法はありますか?私は資格情報のためにポップアップを調べてみましたが、おそらく私はsend()を送ることができますが、無駄です。

ありがとうございます!

+0

[Chrome 59とSelenium/Fluentleniumによる基本認証]の複製(https://stackoverflow.com/questions/44542740/chrome-59-and-basic-authentication-with-selenium-fluentlenium) –

答えて

2

この問題もあります。私の解決策は、クロム拡張を作成し、起動時にクロムに追加することです。

  1. いくつかの新しいフォルダに2つのファイルを作成します。

background.js(yourth変化のユーザーとパス)

chrome.webRequest.onAuthRequired.addListener(
     function(details, callbackFn) { 
      console.log("onAuthRequired!", details, callbackFn); 
      callbackFn({ 
       authCredentials: {username: "user", password: "pass"} 
      }); 
     }, 
     {urls: ["<all_urls>"]}, 
     ['asyncBlocking'] 
    ); 

manifest.jsonをし

{ 
    "manifest_version": 2, 
    "name": "Authentication for tests", 
    "version": "1.0.0", 
    "permissions": ["<all_urls>", "webRequest", "webRequestBlocking"], 
    "background": { 
    "scripts": ["background.js"] 
    } 
} 
  1. がCRXにそれらをパック(クローム://拡張/ - >パック拡張子):

を最初の行として

  • はconf.jsに追加

  • を投影する、このファイルを追加します。

    var fs = require('fs'); 
    const ext64 = fs.readFileSync('./ext.crx', 'base64'); 
    exports.config = { 
    ... 
    

    とオプション

    をChromeに
    capabilities: { 
        browserName: 'chrome', 
        chromeOptions: { 
         args: ['--no-sandbox'], 
         extensions: [ext64] 
        } 
    }, 
    
  • 関連する問題