【问题标题】:How to you configure Selenium Webdriver to take in command line options with Node.js?如何配置 Selenium Webdriver 以使用 Node.js 接收命令行选项?
【发布时间】:2017-08-05 03:41:33
【问题描述】:

我有以下资源,但我不确定如何为这个特定目标解释它们(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 示例,而不仅仅是指向其他页面的链接吗?

【问题讨论】:

  • 您应该研究 Node.js 的 JUnit、NUnit、TestNG 等的等价物。我确定存在一个,这应该可以帮助您弄清楚如何做到这一点。对于其他这些,有一个 XML 文件,您可以在其中指定运行的内容和其他设置。

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


【解决方案1】:

我的一个朋友将我指向process.argv 变量。它给了我解决这个问题所需的一切。 :)

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

console.log(process.argv);

将以下内容回显到控制台。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2013-06-27
    • 2013-03-27
    • 2011-06-08
    • 1970-01-01
    相关资源
    最近更新 更多