如何配置Selenium Webdriver以获取Node.js的命令行选项?

时间:2017-07-28 14:33:59

标签: javascript node.js selenium selenium-webdriver command-line

我有以下资源,但我不确定如何针对此特定目标(thisthis)解释它们。我通过Node.js使用Selenium WebDriver,到目前为止,我的所有测试都按照我的意愿工作,但现在我希望为它添加命令行选项以使其更具动态性。现在,我的测试文件名为mytests.js。要开始这些测试,我只需在终端中运行以下命令。

node mytests.js

这将启动我所有的100多个测试。问题是这些都需要很长时间才能完成。也许45分钟到1.5小时。我想添加选项,根据命令行的输入选择实际运行的测试或测试集。所以我的目标是拥有这样的东西:

node mytests.js targetName

因此,记住,'targetName'只是关注并应用与给定目标/ url相关的测试。这只是一个例子。我的测试文件的开头如下所示:

var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;

var chrome = require('selenium-webdriver/chrome');
var path = require('chromedriver').path;

var service = new chrome.ServiceBuilder(path).build();
chrome.setDefaultService(service);

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

driver.manage().logs().get('browser');

// . . .

我可以添加哪些内容以便添加命令行选项?有人可以在JavaScript中提供一个示例,而不是仅提供指向其他页面的链接吗?

1 个答案:

答案 0 :(得分:0)

我的一个朋友指示我查看process.argv变量。它给了我完全解决这个问题所需要的东西。 :)

所以,将以下内容添加到mytest.js:

console.log(process.argv);

将回显控制台的跟随。

$ node mytests.js this is a command
[ 'mytests.js',
  'this',
  'is',
  'a',
  'command' ]