Angular 2 - 量角器(e2e)运行时错误

时间:2016-09-22 12:55:45

标签: angular protractor

当我运行量角器时,我收到此错误

[15:47:46] E/launcher - Error: TSError: ? Unable to compile TypeScript
Conflicting library definitions for 'selenium-webdriver' found at 'G:/WebServers/home/smsc/SMSC2/modules/admin/node_modules/@types/selenium-webdriver/index.d.ts' and 'G:/WebServers/home/smsc/SMSC2/modules/admin
/node_modules/protractor/node_modules/@types/selenium-webdriver/index.d.ts'. Copy the correct file to the 'typings' folder to resolve this conflict. (4090)

我重建并重新安装量角器,但没有。我用这个命令来运行量角器

npm run protractor

我阅读了量角器教程,并在此处编写测试enter link description here

describe('angularjs homepage todo list', function() {
    it('should add a todo', function() {
        browser.get('http://some-link/');

        console.log('Hi!');
    });
})

量角器适用于此示例,但不适用于打字稿。怎么办?

1 个答案:

答案 0 :(得分:1)

错误消息描述了问题:

  

selenium-webdriver'的库定义冲突发现于' G:/WebServers/home/smsc/SMSC2/modules/admin/node_modules/@types/selenium-webdriver/index.d.ts'和' G:/ WebServers / home / smsc / SMSC2 / modules / admin   /node_modules/protractor/node_modules/@types/selenium-webdriver/index.d.ts' ;.将正确的文件复制到' typings'用于解决此冲突的文件夹。 (4090)

你有两个selenium-webdriver打字文件的实例。 Typescript使用类型文件来帮助对使用vanilla JS库的应用程序进行静态类型检查。

在这种情况下,@types/selenium-webdriver/index.d.ts文件描述了导出的硒成员的类型形状(由量角器内部使用)。

您需要做的是确定要使用的打字版本。

G:/WebServers/home/smsc/SMSC2/modules/admin/node_modules/@types/selenium-webdriver/index.d.ts
G:/WebServers/home/smsc/SMSC2/modules/admin/node_modules/protractor/node_modules/@types/selenium-webdriver/index.d.ts

这些文件很可能只是在两个地方。只需将其中一个移到您项目的打字位置:

 G:/WebServers/home/smsc/SMSC2/modules/typings/selenium-webdriver/index.d.ts

对此更深入一点,我几乎认为这是量角器的错误。