使用Protractor(JS),Cucumber JS和Gulp设置Microsoft Edge - (没有Java,没有C#)

时间:2016-02-02 22:09:56

标签: selenium gulp protractor microsoft-edge angularjs-e2e

有谁知道如何使用Protractor设置Microsoft Edge浏览器?

我正在使用Protractor(Javascript)和Gulp;不是Java或C#。

这是我的Protractor配置文件:

exports.config = {
    framework: 'cucumber',
    seleniumArgs: ['-Dwebdriver.ie.driver=node_modules/protractor/selenium/MicrosoftWebDriver.exe'],
    multiCapabilities: {
       'browserName': 'MicrosoftEdge', 
        javascriptEnabled=true,
       //'platform': 'windows',
       // 'version': '11'
    }
    , 
 {
  'browserName': 'chrome', 
  loggingPrefs: {
    driver: 'DEBUG',
    server: 'INFO',
    browser: 'ALL'
  }
}],

}

1。我指定的浏览器名称为'MicrosoftEdge',然后

2。我以为我会像我一样指向EdgeDriver.exe,它适用于IE浏览器。

我还缺少什么,这会成功打开Edge浏览器,但无法导航到错误的网址

var template = new Error(this.message);
                 ^
UnknownError: null (WARNING: The server did not provide any stacktrace information)

有没有人成功使用Protractor / CucumberJS设置Microsoft Edge?

4 个答案:

答案 0 :(得分:1)

我遇到了与您概述的相同的问题,我注意到您和我正在运行相同版本的Windows 10,

如果您在https://msdn.microsoft.com/en-us//library/mt188085(v=vs.85).aspx

上看到下载链接周围的小字,我已设法找到问题的解决方案

您会注意到三个驱动程序版本尝试安装以下版本:

Windows 10 Fall 2015 Update, install Microsoft WebDriver Fall 2015 Update.

从安装目录中取出' MicrosoftWebDriver.exe'并替换现有的。

答案 1 :(得分:0)

我认为您正在寻找的是浏览器指纹。

虽然不完整(包括MS-Edge),但它应该指向正确的方向..

https://en.wikipedia.org/wiki/Device_fingerprint#External_links

特别是 - http://www.darkwavetech.com/fingerprint/fingerprint_code.html

希望这有帮助!

答案 2 :(得分:0)

我最终做了以下操作,让Mircosoft Edge从Protractor发布。 这是我获得Microsoft Edge驱动程序的地方(https://www.microsoft.com/en-us/download/details.aspx?id=48212);您可以 安装.msi文件,它会为您提供.exe ,您可以将其放入您选择的位置:

这是Microsoft Edge的配置文件:

 exports.config = {
  framework: 'cucumber',
  //Microsoft Edge
  seleniumArgs: ['-Dwebdriver.edge.driver=node_modules/protractor/selenium/MicrosoftWebDriver.exe'],
  capabilities: {
   'browserName': 'MicrosoftEdge',
   'platform': 'windows',
   // 'version': '11'
   },
}

请注意,如果您想获得IE11,那么您可以使用它,并确保将其指向您将ieDriver(http://www.seleniumhq.org/download/)下载到本地计算机的任何位置:

seleniumArgs: ['webdriver.ie.driver=node_modules/protractor/selenium/IEDriverServer.exe'],

不要忘记将浏览器名称更改为'browserName': 'internet explorer',

这只是向 Protractor(Javascript和Gulp,请没有Java或C#) 更近一步,以便在Windows 10操作系统上使用Microsoft Edge,这将启动Microsoft Edge浏览器;但是我仍然遇到诸如以下问题:

var template = new Error(this.message);
                 ^
UnknownError: null (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 6.95 seconds
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'DEV-6', ip: '10.10.50.25', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_65'
Driver info: org.openqa.selenium.edge.EdgeDriver
    at new bot.Error

这是一项正在进行的工作,所以我会更新这篇文章,因为我会得到更有意义的结果;如果有人知道如何避免此错误,以成功自动化使用量角器的Microsoft Edge,请在此处提出建议。

请注意 我没有使用Java或C#绑定 ,这些似乎在Google搜索结果中非常受欢迎;相反,我正在使用 Protractor with Javascript and gulp 进行我的e2e测试。任何帮助非常感谢。

答案 3 :(得分:0)

对于那些想要使用edge开始量角器测试的人来说,这是我的protractor.conf的相关部分:

  seleniumArgs: ['-Dwebdriver.edge.driver=node_modules/protractor/selenium/MicrosoftWebDriver.exe'],
  baseUrl: 'http://127.0.0.1:4321/index_protractor.html',
  capabilities: {
    'browserName': 'MicrosoftEdge'
  },

因此,您可以在互联网上阅读所有内容(注意案例非常重要, M icrosoft E dge。)

在好的方面,Edge启动了,我看到了网址改变等等

在缺点方面,我尝试的每个测试都失败了这个错误:

Message:
Failed: Error while running testForAngular: not implemented (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 3 milliseconds
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12'
System info: host: 'PORTABLE-SL3', ip: '192.168.43.171', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_66'
Driver info: org.openqa.selenium.edge.EdgeDriver
Capabilities [{acceptSslCerts=true, browserVersion=20.10240.16384.0, platformVersion=10, browserName=MicrosoftEdge, takesScreenshot=true, pageLoadStrategy=normal, takesElementScreenshot=true, platformName=windows, platform=ANY}]
Session ID: 732EDD82-B245-4020-8B0E-3FBE0428AAB6

所以我猜驱动程序还没有为Angular做好准备

编辑:

确认,在我的浏览器之前添加此行。我修复了我的错误

browser.ignoreSynchronization=true;

我必须手动处理等待Angular。请注意by.repeater无法正常工作

相关问题