我当前正在从事的项目使用Selenium WebDriver Nightwatch和Cucumber。
问题是项目的文件夹结构已更改,并且'nightwatch.conf.js'文件中的'page_objects_path'现在看起来像这样:
'page_objects_path':
[
"./componentTests/page-objects",
"./componentTests/page-objects/xxxxxx",
"./componentTests/page-objects/xxxxx xxxx",
"./endToEndTests/page-objects",
"./endToEndTests/page-objects/xxxx",
"./endToEndTests/page-objects/xxxxxxx",
"./endToEndTests/page-objects/xxxx xxxxx",
"./endToEndTests/page-objects/xxxxxx"
"./endToEndTests/page-objects/xxxxxxxxxx"
],
有没有办法使Nightwatch可以从/ page-objects /目录中读取所有子文件夹,而无需在数组中将其明确指定为单独的路径?
我相信
'page_objects_path':
[
"./componentTests/page-objects",
"./endToEndTests/page-objects",
],
应该足够。page
类应具有由您的结构的子文件夹调用的子类。例如。来自“ ./endToEndTests/page-objects/mainPage/SubPage.js”的方法getTheCoolElement()
的调用方式应为:browser.page.mainPage.SubPage().getTheCoolElement()
请参阅owncloud phoenix项目中的工作示例,该项目具有页面对象的层次结构:https://github.com/owncloud/phoenix/tree/master/tests/acceptance/pageObjects