用量angular器如何设置Internet Explorer的configuration?

我使用量angular器1.3.1和运行iedriverserver.exe 2.43.0.0与IE11安装(窗口)。 这是我的规格:

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 } }; 

得到这个错误,但解决scheme的任何想法:

 UnknownError: The path to the driver executable must be set by the webdriver.ie.driver system property; 

更新IE的网页管理器

第一步是使用webdriver manager更新ie webdriver。打开命令提示符并运行下面给出的命令

 webdriver-manager update --ie 

转到npm位置在这一步移动到NPM_LOCATION(在你的系统上安装了npm的文件夹,移动到“NPM_LOCATION \ node_modules \ protractor \ selenium”的路径下面,在这个位置检查IEDriverserver.exe是否存在。

在conf.js中更改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启动来重新启动服务器

取自: http : //protractorsupport.blogspot.com/2015/05/use-protractor-with-internet-explorer.html

下载IEDriverserver.exe请在您的配置文件中指定相同

 seleniumArgs: ['-Dwebdriver.ie.driver=<path to IEDriverserver.exe>'] 

根据量角器配置文档 , 配置值"seleniumArgs"已被弃用

所以,所有的信息都有一个单一的答案,这里是简化的步骤:

  1. 全局安装Protactor:

     npm install -g protractor 
  2. 运行webdriver-manager update --ie来更新Protactor使用的seleniumium驱动程序。

  3. 看看前一个命令的日志。 它必须显示驱动程序被解压到一个特定的文件夹。 转到该文件夹​​并找到IEDriverserver。 在我的情况下是: "[Project dir]\node_modules\protractor\node_modules\webdriver-manager\selenium\IEDriverserver_x64_X.XX.X.exe 。您将需要在下一步中提供该文件的相对路径。

  4. conf.js文件中,添加下列键和值:

     multiCapabilities : [ { 'browserName' : 'chrome' }, { 'browserName' : 'internet explorer' } ], localseleniumiumStandaloneOpts : { jvmArgs : ["-Dwebdriver.ie.driver=<RELATIVE PATH TO IE DRIVER>"] // eg: "node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverserver_x64_X.XX.X.exe" }, 

这就是我需要做的。 我不预先启动服务器,我只是运行protactor conf.js 我猜,现在更容易了。

我在这个问题上看了几个小时,最好的办法似乎是:

1)下载webdriver-manager –ie更新

这应该从谷歌..硒…释放文件夹下载驱动程序,并将其放置在您的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更新打破系统工作的方式:

我的最新问题是“服务器没有提供任何堆栈跟踪….”这是由于2014年12月17日的更新。卸载它,然后它是好的。

https://code.google.com/p/selenium/issues/detail?id=3390

疯狂的道路,使其运行。 从长远来看,这不可能是这样,请用您的经验/反馈评论我的帖子。

理查德