2017-03-17 2 views
0

httpsを使用するサイトでPhantomJSを使用して分度器テストを実行する必要があります。これは開発環境で、証明書は自己署名されており、PhantomJSによって認識されません。私はPhantomJSを--ignore-ssl-errorsフラグで開始しています。これは無効なcertsを受け入れるはずですが、これは動作しません。 CLIの場合:これらの設定にもかかわらずHTTPS上のPhantomJS

phantomjs --webdriver=localhost:4444 --web-security=false --ignore-ssl-errors=true --ssl-protocol=any

、webdriverをのacceptSslCertsプロパティがまだfalseに設定されています。関連GhostDriverレポ問題(https://github.com/detro/ghostdriver/pull/388)次のコードが記載されていて

Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"mac-unknown-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rotatable":false,"acceptSslCerts":false,"nativeEvents":true,"proxy":{"proxyType":"direct"}}

const capabilities = webdriver.Capabilities.phantomjs(); capabilities.set(webdriver.Capability.ACCEPT_SSL_CERTS, true); capabilities.set(webdriver.Capability.SECURE_SSL, false); capabilities.set('phantomjs.cli.args', ['--web-security=no', '--ssl-protocol=any', '--ignore-ssl-errors=yes']); const driver = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome(), capabilities).build();

私はprotractor.conf.jsでこれを設定してみました:

ログから

capabilities: { browserName: 'phantomjs', 'webdriver.Capability.ACCEPT_SSL_CERTS': true, 'webdriver.Capability.SECURE_SSL': false }

しかし、これは効果がありません。

httpsモードでPhatomJSを実行する方法を知りましたか?

答えて

2

私は現在同じ問題に直面しています。あなたが言ったすべての選択肢を試してみると、何も動かないようです。

のみ、実際に働いていた事(私のプロジェクトに実行可能ではない、多分あなたのために)、以下のようなservice_args渡すwebdriverをインスタンス化するた:

のPythonを:

webdriver.PhantomJS(executable_path='/home/rodrigo/bin/phantomjs-2.1.1-linux-x86_64/bin/phantomjs', 
        desired_capabilities=dict(DesiredCapabilities.PHANTOMJS), 
        service_args=['--web-security=no', '--ssl-protocol=any', '--ignore-ssl-errors=yes']) 

が、それはより多くのあなたのお役に立てば幸いです私を助けたよりも。

関連する問題