【发布时间】:2024-04-22 11:55:01
【问题描述】:
我正在尝试基于动态数据运行 WebdriverIO 测试。
到目前为止,我有这样的事情:
JSON 文件:
{
"items": [
{
"name": "Item 1",
"value": 5000
}, {
"name": "Item 2",
"value": 6000
},
{
"name": "Item 3",
"value": 7000
}
]
}
规范文件
import * as data from './items.data.json';
describe('Desc', () => {
data.items.forEach((item: any) => {
// Driver runs all these first...
// before(async () => {
// await MainPage.registerItem(item.name, item.value);
// });
// Need to have this rather than the before
it('Set up', async () => {
await MainPage.registerItem(item.name, item.value);
});
it('Should test something', async () => {
await OtherPage.doSomething(item.name, item.value);
});
});
});
这可行,但before 的行为与预期不符,需要it。有更好的方法吗?
【问题讨论】:
-
如果每个测试用例的设置应该是唯一的,那么整个
describe应该在forEach内。您应该不依赖于在实际测试用例之前运行的'Set up'“测试用例”。或者为什么不把设置移到测试用例中,因为它只有一行? -
啊,是的,当然,你的建议是正确的,现在一切都好,谢谢
标签: selenium-webdriver webdriver-io