2016-03-04 34 views
2

這是一個粗略的。兩位開發人員和我一直在這工作了近24小時。我有一個conf.js,我可以在終端中導航,然後運行protractor conf.js(使用全局安裝的副本),它運行完美。一次一個,每次成功測試後出現綠點,大約需要80秒。這是棘手的地方。量角器本地和全球安裝行爲不同

如果我強制執行(path of project)/node_modules/protractor/bin/protractor conf.js執行(path of project)/node_modules/protractor/bin/protractor conf.js運行本地安裝的量角器,然後它啓動,一次顯示我幾個綠點,然後拋出一個關於不能掛鉤角度的錯誤。由於grunt會查找並使用本地副本的量角器,因此這會導致與我們的構建集成時出現問題。

更復雜的是,其他兩個開發人員之一可以拉下我的回購庫,並在我的conf.js上運行本地量角器安裝沒問題。它工作100%。

Error while waiting for Protractor to sync with the page: "window.angular is 
undefined. This could be either because this is a non-angular page or because your 
test involves client-side navigation, which can interfere with Protractor's 
bootstrapping. See http://git.io/v4gXM for details" 

我們已經檢查了所有的以下內容:

  • 量角器的本地和全球安裝的版本相同,與故宮安裝。

    Richards-MacBook-Pro:protractor richardpressler$ npm ls protractor 
    [email protected] 
    /path_to_project/wear-test-track0 
    └── [email protected] 
    
    Richards-MacBook-Pro:protractor richardpressler$ npm ls -g protractor 
    /usr/local/lib 
    └── [email protected] 
    
  • 硒是最新的。我們同時運行(path to project)/node_modules/protractor/bin/webdriver-manager update以及webdriver-manager update更新本地和全球的硒服務器安裝

  • 我試過單獨發射了硒然後指着量角器它,因此我可以看到輸出,它看起來偉大的,當我使用全局量角器(protractor conf.js)運行conf.js,顯示幾個[執行]語句,每個語句後跟一個[完成]語句。然而,當我運行(path to project)/node_modules/protractor/bin/protractor conf.js當地量角器二進制,我看到量角器能夠連接到Selenium實例,但並沒有做太多後記:

當量角器輸出看起來是這樣的:

Richards-MacBook-Pro:protractor richardpressler$ ../../node_modules/protractor/bin/protractor conf.js 
Using the selenium server at http://127.0.0.1:4444/wd/hub 
[launcher] Running 1 instances of WebDriver 
Started 
....................... 

Selenium服務器只輸出這樣的:

10:35:47.612 INFO - Selenium Server is up and running 
10:35:49.479 INFO - Executing: [new session: Capabilities [{count=1, browserName=chrome}]]) 
10:35:49.487 INFO - Creating a new session for Capabilities [{count=1, browserName=chrome}] 
Starting ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4) on port 34848 
Only local connections are allowed. 
10:35:50.516 INFO - Done: [new session: Capabilities [{count=1, browserName=chrome}]] 
10:35:50.532 INFO - Executing: [set script timeout: 11000]) 
10:35:50.537 INFO - Done: [set script timeout: 11000] 

有沒有人有類似不當行爲的量角器比較全球,命令行版本時和項目中的本地安裝版本?

感謝

回答

2

原來所有依賴的量角器,呼嚕聲,硒等都是在devDependencies所以當我最初運行npm install它根本沒有安裝所有的子依賴性的那些包。如果我將它們移動到package.json中的dependencies,然後重新運行npm install,它就像一個魅力。或者,在devDependencies中運行npm install --dev以及這些依賴關係也可以正常工作。

上之間dependenciesdevDependenciespeerDependencies可以在這裏找到差異的詳細信息:What's the difference between dependencies, devDependencies and peerDependencies in npm package.json file?