2017-08-29 88 views
0

我試圖使用Java啓動webdriverio。我有兩個文件一個Java文件和其他test.js文件來啓動網絡驅動程序。require('webdriverio')不能與require.js一起使用

test.js文件

var webdriverio = require('webdriverio'); 
var options = { 
    desiredCapabilities: { 
     browserName: 'chrome' 
    } 
}; 
function launchbrowser(){ 
    var client=webdriverio.remote(options).init(); 
    client.url('https://www.google.com'); 
    client.end(); 
} 

Java文件調用test.js

System.out.println("Launching WebDriver IO"); 
String testjsFile = System.getProperty("user.dir") + File.separator + "scripts" 
       + File.separator + "test.js"; 
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn"); 
engine.eval("load('scripts/r.js');"); 
engine.eval(new FileReader(testjsFile)); 
Invocable invocable = (Invocable) engine; 
invocable.invokeFunction("launchbrowser"); 

但我不能在這種情況下推出的網絡驅動程序。如果我不使用r.js文件,那麼它給錯誤

require is not Defined.

請人幫我,我們如何解決需要(「webdriverio」)

+0

您是否嘗試再次檢查配置? http://webdriver.io/guide/getstarted/configuration.html –

+0

是的,我已檢查配置。你能告訴我如何在java –

+0

中調用它,你是否先用'$ node test.js'嘗試過? –

回答

0

要求是不是一個標準的ECMAScript內置功能。您必須使用像requirejs這樣的第三方需求實現。

我推測你上面提到的r.js是來自requirejs.org項目。當您評估「r.js」時會出現什麼錯誤?

+0

它給出這個錯誤javax.script.ScriptException:錯誤:模塊名稱「webdriverio」尚未加載上下文:_。使用require([]) –

相關問題