我的world.js看起来像这样:
var protractor = require('protractor');
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().usingServer('xxxxx').
withCapabilities(webdriver.Capabilities.firefox()).build();
driver.manage().timeouts().setScriptTimeout(100000);
module.exports.World = function World(callback) {
this.browser = protractor.wrapDriver(driver);
this.by = protractor.by;
callback();
};
然后在steps.js:
{
element(by.id('username')).sendKeys("admin");
}
当我使用cucumber.js运行它时,错误是:
TypeError:无法调用方法' id'未定义的
但如果我删除world.js并使用量角器运行它,它就可以。
我该如何解决这个问题?
答案 0 :(得分:1)
您似乎未在全球范围内导出by
。我不确定你为什么能够使用element
函数 - 但无论如何,你应该做的事情可能是:
module.exports.World = function World(callback) {
global.browser = protractor.wrapDriver(driver);
global.by = protractor.by;
};