require('webdriverio')无法使用require.js

时间:2017-08-29 07:23:45

标签: javascript java nashorn webdriver-io

我正在尝试使用Java启动webdriverio。我有两个文件,一个java文件和其他test.js文件来启动Web驱动程序。

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();
}

调用test.js的

的Java文件
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('webdriverio')

2 个答案:

答案 0 :(得分:0)

require不是标准的ECMAScript内置函数。您必须使用第三方需求实施,例如requirejs。

我认为你上面提到的r.js来自requirejs.org项目。当您评估" r.js"?

时,您会得到什么错误

答案 1 :(得分:0)

尝试配置Babel 来自官方文档

https://webdriver.io/docs/babel.html

然后您可以改用普通的import

相关问题