我想要扩展selenium webdriver.WebDriver函数,使我能够记录命令的输出,例如
WebdriverReporter.prototype.sendKeys = function(keys){
//call original method + call my api to store the keys
}我试图让我的webdriverreporter继承webdriver,但是我正在努力创建一个新的webdriver实例。
代码:
var util = require('util');
var webdriver = require('selenium-webdriver');
var WebdriverReporter = function(){
webdriver.WebDriver.apply(this);
console.log("constructor: webdriver reporter");
};
util.inherits(WebdriverReporter, webdriver.WebDriver);
var a = new WebdriverReporter();
console.log("test", a instanceof webdriver.WebDriver);
错误:
constructor(session, executor, opt_flow) {
^
TypeError: Class constructors cannot be invoked without 'new'
我通常使用以下命令创建一个新的webdriver:
new webdriver.Builder()
.forBrowser(config.browser.chrome.browserName)
.withCapabilities(chromeCapabilities)
.build();
但是,它在这个新实例中将不起作用
发布于 2016-03-23 11:13:13
我想问题出在这条线上-
webdriver.WebDriver.apply(this);试一下-
webdriver.WebDriver.call(this);请看-
MDN - Introduction to Object-Oriented JavaScript - Inheritance
https://stackoverflow.com/questions/36163649
复制相似问题