2015-11-19 25 views
0

我是Javascript的noob,所以如果我的問題非常微不足道的道歉。用Node.js上的Javascript運行硒

我想運行在Javascript中寫的硒測試。正如我平時所做的那樣,我只想從簡單的東西開始,從那裏開始工作。在我的腳本中,我只是嘗試使用chromedriver加載Google。

var webdriver = require("selenium-webdriver"); 

var driver = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build(); 

driver.get("http://www.google.com"); 

在我瀏覽到Test.js文件被保存在目錄中的CLI和我運行命令node Test.js。我總是得到這個錯誤的迴應;

C:\Selenium\node_modules\selenium-webdriver\_base.js:104 
    vm.runInContext(opt_srcText, closure, src); 
    ^
SyntaxError: Unexpected token) 
at goog.loadModuleFromSource_ (C:\Selenium\node_modules\selenium-webdriver\l 
at Object.goog.loadModule (C:\Selenium\node_modules\selenium-webdriver\lib\g 
at C:\Selenium\node_modules\selenium-webdriver\lib\webdriver\promise.js:1:6 
at Object.Context.closure.goog.retrieveAndExecModule_ (C:\Selenium\node_modu 
at <anonymous>:1:6 
at Context.closure.closure.vm.createContext.CLOSURE_IMPORT_SCRIPT (C:\Seleni 
at Object.goog.importScript_ (C:\Selenium\node_modules\selenium-webdriver\li 
at Object.goog.importModule_ (C:\Selenium\node_modules\selenium-webdriver\li 
at Object.goog.writeScripts_ (C:\Selenium\node_modules\selenium-webdriver\li 
at Object.goog.require (C:\Selenium\node_modules\selenium-webdriver\lib\goog 

我本來跑在我的Windows機器上的代碼,當我得到這個錯誤我把它歸結爲Windows和Node.js的不同意,並試圖在我的Mac。仍然沒有運氣,因爲我得到了完全相同的迴應。

在兩臺機器上都安裝了node和npm。在執行測試之前,我運行命令npm install selenium-webdriver,並且還將chromedriver添加到我的PATH中。

我不知道我在做什麼錯,所以如果任何人都可以指出我在正確的方向,它將非常感激。

+0

我已將您的代碼複製到一個文件中,並且完全沒有任何問題地運行它。我在Linux上,但我懷疑這是什麼造成了差異。 – Louis

+0

在我的MAC上,節點版本是0.10.26,npm版本是3.4.1。不知道這些版本是否太舊? – Dan

+0

節點0.10.26可能太舊。我運行4..2.2。 – Louis

回答

2

原來我使用的節點版本太舊了。 感謝@Louis幫助您達成此解決方案。

我所做的是卸載節點,並用最新版本重新安裝。我會想象升級也會起作用。