【发布时间】:2022-10-15 01:44:45
【问题描述】:
我已经创建了一个测试脚本网络驱动程序(版本 6.14.13)和 mocha,它使用页面对象功能。
这是因为我的一些测试脚本在我的绝大多数其他脚本中使用,我认为克服这种重复代码的最佳方法是使用页面对象.
所以,这是我的页面对象脚本,名为removeNotifications.js,我已将其添加到我的pages 文件夹中;
class clearNotifications {
get closeTheCmp() {
const cmpDismissal = $('~ACCEPT AND CLOSE');
if (cmpDismissal.isExisting()) {
cmpDismissal.click();
cmpDismissal.waitForExist({ reverse: true });
}
}
get allowNotifications() {
const notificationsDismissal = $('~Allow');
if (notificationsDismissal.isExisting()) {
notificationsDismissal.click();
notificationsDismissal.waitForExist({ reverse: true });
}
}
get skipToContent() {
const skipButton = $('~SKIP');
skipButton.waitForExist({timeout: 50000});
skipButton.isExisting();
skipButton.click();
}
}
export default new clearNotifications();
现在,在我的测试脚本中,我有以下代码;
var clearNotifications = require ('../pages/removeNotifications.js');
describe('testing the app cmp.....', () => {
it('Close CMP, Notifications and Skip to content...', async () => {
await clearNotifications.closeTheCmp();
await clearNotifications.allowNotifications();
await clearNotifications.skipToContent();
});
但是,测试失败了,因为它似乎没有执行任何removeNotifications.js 功能?
我在我的 removeNotifications.js 脚本中做错了什么,并且没有正确定义它?
还是我的测试脚本没有正确“调用”removeNotifications.js 从而运行测试而不执行removeNotifications.js 脚本中详述的功能?
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
您在获取方法中犯了错误,我们返回选择器,然后在我们的函数中使用它们,我将在下面的答案中放置示例
标签: javascript mocha.js webdriver-io pageobjects