Как прочитать значение baseURL в 'wdio.conf.js. из файла определения шага.js

Я использую webdriverio для автоматизации тестирования. В файле wdio.conf.js я настроил свойство 'baseUrl'. Я хочу подготовить значение свойства baseUrl из моего тестового файла.js. Пожалуйста, помогите мне прочитать значение 'baseUrl'!

6 ответов

Решение

Я пойду на конечности здесь и предположу, что вы хотите прочитать baseUrl ценность из вашего wdio.config.js файл, в ваш test.js файл.

TL; DR: в вашем test.js заголовок файла, добавьте следующее:

var config = require('<pathToWdioConfJS>/wdio.conf.js').config;

Вы можете получить доступ к любому wdio.config.js значение через config.<configOption>, в твоем случае config.baseUrl,


Наконец, я очень рекомендую вам прочитать об экспорте и экспорте модулей.

WebdriverIO построен на NodeJS, поэтому вы в долгосрочной перспективе выстрелите себе в ногу, если не знаете, как и когда использовать exports, module.exports, requireили разница между ними.

Надеюсь, поможет. Ура!

Используйте browser.options.baseUrl. Если вы используете require, вы жестко программируете из этого одного файла, что нормально, но вы не можете сделать wdio --baseUrl = http://mytestsite2.net/, чтобы переопределить "глобальный" baseUrl. Что вы, возможно, захотите сделать в нескольких развертываниях в будущем.

BaseUrl доступен в объекте конфигурации browser.config.baseUrl См. https://github.com/webdriverio/webdriverio/blob/a4a5a46f786f8548361d7f86834b38f89dcb1690/packages/webdriverio/webdriverio-core.d.ts#L131.

Вы можете использовать браузер.options.baseUrl

В файле wdio.config.js определите URL-адрес, подобный этому

var baseUrl = 'YOUR URL'
exports.config = {
        baseUrl: baseUrl,
}

В тестовом файле используйте / вместо добавления полного URL в browser.url('/'), он будет использовать baseUrl из файла wdio.config.js.

browser.url('/')

Просто сохраните все свои переменные в before: function, и их можно будет использовать в любом месте вашего теста. как в следующем примере, я использую файл конфигурации wdio счетчика повторов

before: function (capabilities, specs) {
         expect = require('chai').expect;
         should = require('chai').should();
         assert = require('assert');
         retryCount=2;
         browser.maximizeWindow();
Другие вопросы по тегам