将一个文件夹中的 .js 文件导入另一个文件夹中的 spec.js 文件时出错
Error when importing .js file in one folder to spec.js file in another folder
我是量角器的新手,正在尝试使用 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();
但是在 spec.js 中导入上面的 class 时,在 运行 代码中,它会抛出错误:
E/launcher - Error: Error: Cannot find module '../pages/addCustomerPage'
以下是 spec.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);
});
但是,如果 pages 文件夹位于 features 文件夹下,这就可以正常工作。任何人都可以帮助解决我在这里做错了什么吗?
../
上面的符号表示上一级文件目录。
当这样声明变量时...
var addCustomerPage = require('../pages/addCustomerPage');
...您的计算机将从当前目录向上一级文件夹并搜索 pages 文件夹,但找不到它。
当您复制 pages 文件夹并将其放在 feature 文件夹下时,它可以检测到它,因为它位于您搜索它的目录下
解决方法是:
- 只需将您的页面文件夹粘贴到功能下
或
- 将变量中的文件路径修改为你的pages文件夹所在的位置
我猜你必须上一两个目录,所以使用这个命令 ../
到达你的页面文件夹所在的位置
var addCustomerPage = require('../../pages/addCustomerPage');
想法是将文件路径修改为页面文件夹所在的位置
我是量角器的新手,正在尝试使用 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();
但是在 spec.js 中导入上面的 class 时,在 运行 代码中,它会抛出错误:
E/launcher - Error: Error: Cannot find module '../pages/addCustomerPage'
以下是 spec.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);
});
但是,如果 pages 文件夹位于 features 文件夹下,这就可以正常工作。任何人都可以帮助解决我在这里做错了什么吗?
../
上面的符号表示上一级文件目录。
当这样声明变量时...
var addCustomerPage = require('../pages/addCustomerPage');
...您的计算机将从当前目录向上一级文件夹并搜索 pages 文件夹,但找不到它。
当您复制 pages 文件夹并将其放在 feature 文件夹下时,它可以检测到它,因为它位于您搜索它的目录下
解决方法是:
- 只需将您的页面文件夹粘贴到功能下
或 - 将变量中的文件路径修改为你的pages文件夹所在的位置
我猜你必须上一两个目录,所以使用这个命令 ../
到达你的页面文件夹所在的位置
var addCustomerPage = require('../../pages/addCustomerPage');
想法是将文件路径修改为页面文件夹所在的位置