分度器1.3.1を使用しており、IE11がインストールされたiedriverserver.exe 2.43.0.0を実行しています(Windows)。これは私の仕様です:
describe('quick test IE driver', function () {
it('should go to ng homepage', function () {
browser.driver.get('https://angularjs.org/');
var title =element(by.css('h1')).getText();
expect(title).toBe('HTML enhanced for web apps!');
});
});
そして、これは私のprotractor.conf.jsです:
exports.config = {
// The address of a running Selenium server.
//seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'internet Explorer',
'platform': 'ANY',
'version': '11'
},
// Spec patterns are relative to the current working directly when
// protractor is called.
specs: ['main.spec.js'],
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
isVerbose:true,
includeStackTrace:true
}
};
しかし、このエラーが発生する、解決策のアイデア:
UnknownError: The path to the driver executable must be set by the webdriver.ie.driver system property;
IEのWebマネージャーを更新する
最初のステップは、Webドライバーマネージャーを使用してIE Webドライバーを更新することです。コマンドプロンプトを開き、以下のコマンドを実行します
webdriver-manager update --ie
Npmの場所に移動この手順では、NPM_LOCATION(npmがシステムにインストールされているフォルダーに移動します。次のパスに移動します。 "NPM_LOCATION\node_modules\protractor\Selenium"この場所で、IEDriverServer.exeが存在するかどうかを確認します。
IEの変更
// conf.js exports.config = { seleniumAddress: 'http://localhost:4444/wd/hub', specs: ['specs.js'], capabilities: {
'browserName': 'internet Explorer' // conf for internet Explorer } }
// spec.js describe('Protractor Demo App', function() { it('should have a title', function() {
browser.get('http://juliemr.github.io/protractor-demo/');
expect(browser.getTitle()).toEqual('Super Calculator'); }); });
次に、分度器conf.jsを実行します。
注:-> webdriver-manager startでサーバーを再起動してください。
取得元: http://protractorsupport.blogspot.com/2015/05/use-protractor-with-internet-Explorer.html
分度器構成ドキュメント によると、構成値"seleniumArgs"
は非推奨です。
したがって、すべての情報を含む単一の回答を得るために、簡略化された手順を次に示します。
Protactorをグローバルにインストールします。
npm install -g protractor
webdriver-manager update --ie
を実行して、Protactorが使用するSeleniumドライバーを更新します。 globalwebdriver-manager
またはlocalwebdriver-manager
(つまり./node_modules./bin/webdriver-manager update help
);ドライバーを別の場所に解凍します。 localのみが[Project dir]
に解凍されます
前のコマンドのログを見てください。ドライバーが特定のフォルダーで解凍されたことを示す必要があります。そのフォルダーに移動し、IEDriverServerを見つけます。私の場合は"[Project dir]\node_modules\protractor\node_modules\webdriver-manager\Selenium\IEDriverServer_x64_X.XX.X.exe
でした。次のステップで、このファイルへの相対パスを指定する必要があります。
conf.js
ファイル内に、次のキーと値を追加します。 localSeleniumStandaloneOpts
の使用に注意してください。これは、プロパティを削除する必要があることを意味します seleniumAddress
ある場合 :
multiCapabilities : [
{
'browserName' : 'chrome'
}, {
'browserName' : 'internet Explorer'
}
],
localSeleniumStandaloneOpts : {
jvmArgs : ["-Dwebdriver.ie.driver=<RELATIVE PATH TO IE DRIVER>"] // e.g: "node_modules/protractor/node_modules/webdriver-manager/Selenium/IEDriverServer_x64_X.XX.X.exe"
},
それが私がする必要があるすべてでした。サーバーを事前に起動するのではなく、単にprotactor conf.js
を実行します。今はもっと簡単だと思います。
IEDriverServer.exeをダウンロードします構成ファイルで同じものを指定してください
seleniumArgs: ['-Dwebdriver.ie.driver=<path to IEDriverServer.exe>']
私はこの質問を数時間探していましたが、最善の方法は次のようです:
1)webdriver-manager --ie updateをダウンロードします
これにより、google .. Selenium ... releaseフォルダーからドライバーがダウンロードされ、npmローカルリポジトリの適切な場所に直接配置されます。
2)テストのconfig.jsファイルでの設定:...
multiCapabilities: [
//{
// browserName: 'chrome',
// version: 'ANY'
//},
//{
// browserName: 'firefox',
// version: 'ANY'
//},
{
browserName: 'internet Explorer',
version: 'ANY'
},
],
// For some IE functions you may need to specify defaultTimeoutInterval
... 3)IEのセットアップ:
この投稿をフォロー http://jimevansmusic.blogspot.fr/2012/08/youre-doing-it-wrong-protected-mode-and.html
PS:IEの「保護モード」設定については、すべてのゾーンに同じ設定をすることが重要です。すべてのゾーンで保護モードを「オン」にすることを好みます
4)レジストリにパッチを適用する
ここで説明するように: http://heliumhq.com/docs/internet_Explorer
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BFCACHE] "iexplore.exe" = dword:00000000
5)IE 11 updateは、システムの動作を中断します。
私の最新の問題は「サーバーがスタックトレースを提供しなかった...」でした。これは、2014年12月17日の更新によるものです。アンインストールすれば問題ありません。
https://code.google.com/p/Selenium/issues/detail?id=339
それを実行させるためのクレイジーなパス。長い目で見ればこのようなことはできません。私の投稿にあなたの経験やフィードバックをコメントしてください。
リチャード
これが私の設定ファイルです:
exports.config = {
seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
capabilities: {
'browserName': 'internet Explorer',
},
framework: 'jasmine',
// Spec patterns are relative to the current working directory when
// protractor is called.
specs: ['your_spec_file.js'],
};
IEで実行する手順:
これでInternet Explorerが正常に起動します。ありがとう