【问题标题】:Setting up Microsoft Edge with Protractor (JS), Cucumber JS and Gulp - (no Java, no C#)使用 Protractor (JS)、Cucumber JS 和 Gulp 设置 Microsoft Edge -(无 Java,无 C#)
【发布时间】:2016-05-11 22:09:01
【问题描述】:

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

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

这是我的量角器配置文件:

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 浏览器,但无法导航到错误的 URL

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

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

【问题讨论】:

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


    【解决方案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”并替换您当前的。

    【讨论】:

      【解决方案2】:

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

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

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

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

      希望这会有所帮助!

      【讨论】:

      • 感谢您抽出宝贵的时间来回答Leptonator;但这不是我想要的;这些链接讨论了通过客户端脚本语言收集某些信息来唯一标识远程设备或浏览器。
      • 我正在寻找的只是我的 e2e 测试的浏览器名称;我已经更新了上面的配置。对于 Chrome 和 Internet Explorer,我在上面的配置中包含了浏览器名称;但我不知道 Microsoft Edge 应该是什么;我尝试了一些名称,例如“Edge”、“Microsoft Edge”、“microsoft edge”、“microsoft-edge”、“MS-Edge”——但徒劳无功,知道该浏览器名称应该是什么吗?
      • OK.. 试试这个.. 我刚去了:browserspy.dk,只显示 Edge,但包含一堆关于 Safari 的信息(我没有在我的 Windows 10 盒子上安装) ..
      • 感谢轻子;事实证明我所拥有的是正确的,即浏览器名称应该是 MicrosoftEdge。我只是忘记将系统属性从“-Dwebdriver.ie.driver”更改为“-Dwebdriver.edge.driver”,注意那里的“.edge.driver”而不是“.ie.driver”。话虽如此,我现在可以从 Protractor 成功启动 Microsoft Edge 浏览器,但它仍然无法运行我的 e2e 测试。它给了我这个错误:UnknownError:null(警告:服务器没有提供任何堆栈跟踪信息)。我知道这不是太多的信息,所以我不期望这个问题有太多的答案;无论如何再次感谢
      【解决方案3】:

      我最终执行了以下操作以使 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 一起工作更近了一步,这将启动微软边缘浏览器;但是我仍然遇到以下问题:

      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
      

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

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

      【讨论】:

        【解决方案4】:

        对于那些想用 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'
          },
        

        所以它是您可以在 Internet 上阅读的所有内容的混合体(请注意,对于 MicrosoftEdge,这种情况很重要)。

        从好的方面来说,Edge 已启动,我看到 url 发生变化,等等

        不利的一面是,我尝试的每个测试都因此错误而失败:

        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 做好准备

        编辑:

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

        browser.ignoreSynchronization=true;
        

        我不得不手动处理等待 Angular。另请注意,by.repeater 不起作用

        【讨论】:

        • 感谢 seblucas 但仍然无法为我工作。此外,您似乎只使用该 browser.ignoreSynchronization=true;对于非角度站点(我的站点是 ANGULAR 站点),最后,在您不想等待承诺解决的情况下。也许您的网站不是 Angular 网站?无论如何,我至少应该能够做我目前做不到的 browser.get(URL) 。而且我确实在“MicrosoftEdge”上遇到了这种情况
        • 我的网站也是 Angular 的。我刚刚测试以确保(Edge 已从我测试的浏览器中删除)。您是否安装了正确版本的 Edge Webdriver(W10 build 10240 和 W10 Fall 2015 Update 之间存在差异)。我个人使用的是 W10 build 10240 的 Webdriver。
        • 另一个区别是我使用的是 Webdriver 2.48.2
        • 抱歉打扰你 Seblucas 但这是我用来获取驱动程序的链接:microsoft.com/en-us/download/details.aspx?id=48212 还有其他链接吗?
        • 实际上我刚刚检查过,我正在使用可能不受支持的 Windows 10 Pro。以下是支持的操作系统列表:Windows 10、Windows 10 Tech Preview 和 Windows 10 Build 10240,我的是 Windows 10 Pro;这很可能是我的不工作的原因;我将在不同的 VM 上对其进行测试,如果它有效,我稍后会通知您
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-26
        • 2021-09-08
        • 1970-01-01
        • 2017-06-30
        • 2022-09-27
        • 1970-01-01
        相关资源
        最近更新 更多