我有一个测试,其中包含我想在多个文件中重复使用的步骤。
我想我可以创建一个名为common.js
的文件,列出其中的所有函数,并在需要时调用。
这是推荐的方法吗?
我觉得唯一的问题是拥有一个超长文件的常用方法,如果我分开,那么我需要使用大量的require
语句。
答案 0 :(得分:1)
最简单的方法是做你已经暗示制作commonSpec.js
文件的内容并在importTest()
的任何地方使用它,这将是这样的:
commonSpec.js
describe('Common Steps that will be used by all', () => {
it('Can log in', () => {
//log in code
});
it('land on a particular page', () => {
// assertion code for the particular page
});
});
commonSpecUsed.js
describe("Common Specs", () => {
importTest("common specs", './commonSpec.js');
});
当上述方法共享相同的规范并声明相同的值时,它是最好和最简单的。但是当断言不同时,例如
然后,您可能希望通过启用接受参数来使commonSpec.js
文件更具动态性。这完全取决于您的测试要求。如果你能分享一些代码片段,可能会更有帮助。
希望这会有所帮助。
答案 1 :(得分:0)
一个选项是设置页面对象as defined in the official docs。我也有a video covering subject on YouTube。
如果您不想做页面对象,可以使用the 'addCommand' command向WebdriverIO添加自定义命令。