Ошибка при импорте файла. js из одной папки в файл spe c. js в другой папке - PullRequest
0 голосов
/ 20 июня 2020

Я новичок в транспортире и пытаюсь создать проект на огурце с использованием POM. Ниже представлена ​​структура проекта: введите описание изображения здесь

В addCustomerPage. js я упомянул локаторы, а также функции для выполнения теста:

var addCustomerPage = function () {

    var BankManagerButton = element(by.buttonText('Bank Manager Login'));
    ***Other locators*****

    this.create = async function(fName,lName,pCode){
        await BankManagerButton.click();
        ****rest of the steps*****
    }
}
module.exports = new addCustomerPage();

Но когда в spe c. js, импортируйте указанный выше класс, при запуске кода возникает ошибка:

E/launcher - Error: Error: Cannot find module '../pages/addCustomerPage'

Ниже приведен код файла spe c. js:

var {
    setDefaultTimeout
} = require('cucumber');
const {
    expect
} = require('chai');
setDefaultTimeout(10 * 1000);
var addCustomerPage = require('../pages/addCustomerPage');
Given('I open the application and click on create customer button', async function () {
    **code*****
});

When('I enter {string}, {string}, {string}', async function (fname, lname, pcode) {
    return await addCustomerPage.create(fname, lname, pcode);
});

Однако это нормально работает, если папка страниц находится в папке функций. Может ли кто-нибудь помочь в том, что я здесь делаю не так?

1 Ответ

1 голос
/ 20 июня 2020

../

Указанный выше символ указывает go на один файловый каталог.

Когда переменная объявлена ​​так ...

var addCustomerPage = require('../pages/addCustomerPage');

... ваш компьютер будет go на один уровень выше текущего каталога и будет искать папку страниц, но не найдет ее.

Когда вы скопировали папку страниц и поместили ее в папке функций, он может обнаружить его, потому что он попадает в каталог, в котором вы его искали.

Решение:

  1. Просто вставьте папку ваших страниц в функции или
  2. Измените путь к файлу в переменной, указав, где находится папка ваших страниц

Я предполагаю, что вам нужно go вверх на один или два каталога, поэтому используйте эту команду ../, чтобы добраться туда, где находится ваша папка страницы

var addCustomerPage = require('../../pages/addCustomerPage');

Идея состоит в том, чтобы изменить путь к файлу, где бы ни находилась папка страницы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...