在多个步骤定义文件中共享相同的 Selenium WebDriver

Sharing the same Selenium WebDriver in several step definition files

我的问题和一个基本一样。但是我正在 JavaScript 中编写测试。我想要几个步骤定义文件。 我试过用这样的导出驱动程序创建一个文件

var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().forBrowser('chrome').build();

module.exports = driver;

我正在使用 const { driver } = require('test-driver') 在我的步骤定义文件中导入此文件 当我 运行 测试时,有两个浏览器 windows 打开而不是一个。

在多个步骤定义文件之间共享同一个 WebDriver 的正确方法是什么?

我建议直接使用量角器(selenium 的包装器)而不是 webdriver,因为量角器对 Javascript 有一些简洁的内置支持。看这里 https://github.com/protractor-cucumber-framework/protractor-cucumber-framework

然后您只需导入 browser 并跨步骤使用驱动程序