如何在'wdio.conf.js中读取baseURL值 从步骤定义.js文件

Tha*_*r D 2 selenium selenium-webdriver webdriver-io wdio-v4 wdio-v5

我正在使用webdriverio进行测试自动化.在wdio.conf.js文件中,我配置了'baseUrl'属性.我想从我的test .js文件中准备'baseUrl'属性值.请帮我看'baseUrl'的价值!

iam*_*hiv 6

LE:文件中的所有名称 - 值对global(基本上是wdio.conf.js对象内容)都存储在里面before.

因此,从测试中访问全局配置值的更优雅方法如下所示:

before: function (capabilities, specs) {
  // =================
  // Assertion Library
  // =================
  const chai    = require('chai');
  global.expect = chai.expect;
  global.assert = chai.assert;
  global.should = chai.should();
  // ======================
  // Miscellaneous Packages
  // ======================
  global.langCode = langCode;
  global.countryCode = countryCode;
  global.request = require('superagent');
  global.allowedStatusCodes = [200, 301],
  // ===============
  // Custom Commands
  // ===============
  require('./test/custom_commands/aFancyMethod');
  require('./test/custom_commands/anotherOne');
  require('./test/custom_commands/andAnotherOne');
},
Run Code Online (Sandbox Code Playgroud)

我会在这里继续下去并假设您想要await browser.options.request.head(...browser.options.baseUrl文件中读取值到您的wdio.conf.js文件中.

TL; DR:在您的config文件标题中,添加以下内容:

browser.options

然后,您可以baseUrl通过wdio.config.js,在您的情况下访问任何值test.js.


最后,我强烈建议您阅读有关出口和模块出口的信息.

WebdriverIO是建立在的NodeJS,所以你会搬起石头砸自己的脚从长远来看,如果你不知道如何以及何时使用test.js,var config = require('<pathToWdioConfJS>/wdio.conf.js').config;, wdio.config.js,或它们之间的区别.


小智 6

使用 browser.options.baseUrl 。如果您使用 require,您将从该文件进行硬编码,这很好,但是您不能执行 wdio --baseUrl= http://myTestSite2.net来覆盖“全局”baseUrl。您将来可能希望在多个部署中执行此操作。