在考虑页面对象建模时,正确的(最有效的)黄瓜项目布局是什么?

时间:2017-04-13 15:48:42

标签: selenium selenium-webdriver webdriver cucumber

考虑页面对象建模时,正确的(最有效的)黄瓜项目布局是什么?

经过分配研究后,我提出了以下设计:

Maven项目 enter image description here

新项目设置:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

我同意您提出的主要想法,但页面对象模型也引用了实用程序。页面对象模型的一个期望目标是将selenium代码保留在测试本身之外,因此大多数这些引用将转到页面,然后其定位器和操作将访问驱动程序类,最好通过实用程序。这并不意味着测试程序不能直接引用实用程序,但它应该仅针对非硒原因这样做。当然也有例外。对于Cucumber或任何其他基于BDD的框架,您只能参考您正在调用的内容" main" as"步骤"每个测试都有自己的故事文件,访问一个或多个步骤文件。其余的保持不变。这背后的想法是它允许您创建和维护现有和未来故事文件可以引用的相关步骤库。

希望这有助于您和/或其他人更好地了解流程。此外,免责声明 - 大多数是我的意见 - 可能有很多方法来描绘关系,但我所描述的是我使用的。

经过进一步检查,我发现我错过了下半部分(视力受损)。在这种环境中,测试人员通常处于最顶端。它作为单个JUnit或TestNG测试运行,以运行所有故事。

现在我的浏览器搞砸了,我无法重新向上滚动以再次确认该图表以进行更多评论。

我画了一个我试图描述的粗略布局。我希望它能更清楚地解释我对你问题的回答。

Layout Diagram

这是基本的项目树:

Basic Project Tree

这里的src / test / java扩展:

src/test/java expanded

最后,src / test / resources得到了扩展

src/test/resources expanded

\ src \ main \ resources中唯一的东西是JBehave用来允许一些自定义报告的额外内容,称为FTL。