考虑页面对象建模时,正确(最有效)的 Cucumber 项目布局是什么?
What is the correct (Most effective) Cucumber Project Layout when Considerring Page Object Modelling?
考虑页面对象建模时正确(最有效)的 Cucumber 项目布局是什么?
经过大量研究,我提出了以下设计:
Maven 项目
新项目设置:
我同意你提出的主要观点,但是页面对象模型也指的是实用程序。页面对象模型的预期目标之一是将 selenium 代码排除在测试本身之外,因此大部分引用将转到页面,然后它的定位器和操作将访问驱动程序 class,最好通过公用事业。这并不意味着测试程序不能直接引用实用程序,但它应该仅出于非 selenium 原因这样做。当然也有例外。在 Cucumber 或任何其他基于 BDD 的框架的情况下,您只会将您现在称为 "main" 的内容称为 "steps",并且每个测试都有自己的故事文件,访问一个或多个, 步骤文件。其余的保持不变。其背后的想法是它允许您创建和维护现有和未来故事文件可以参考的相关步骤库。
希望这可以帮助您 and/or 其他人更好地理解流程。另外,免责声明 - 这大部分是我的意见 - 可能有很多方法来绘制关系,但我描述的是我使用的。
进一步检查,我发现我漏掉了下半部分(我是视障人士)。 test运行ner 通常位于此环境中链的最顶端。它 运行 作为单个 JUnit 或 TestNG 测试 运行 您的所有故事。
现在我的浏览器乱七八糟,我无法重新向上滚动以再次确认该图表以发表更多评论。
我对我要描述的内容画了一个粗略的布局。我希望它能更清楚地解释我对你问题的回答。
这是基本的项目树:
这里是 src/test/java 展开的:
最后,src/test/resources 展开
\src\main\resources 中唯一的东西是 JBehave 用来允许对其报告进行一些自定义的一些额外内容,称为 FTL。
考虑页面对象建模时正确(最有效)的 Cucumber 项目布局是什么?
经过大量研究,我提出了以下设计:
Maven 项目
新项目设置:
我同意你提出的主要观点,但是页面对象模型也指的是实用程序。页面对象模型的预期目标之一是将 selenium 代码排除在测试本身之外,因此大部分引用将转到页面,然后它的定位器和操作将访问驱动程序 class,最好通过公用事业。这并不意味着测试程序不能直接引用实用程序,但它应该仅出于非 selenium 原因这样做。当然也有例外。在 Cucumber 或任何其他基于 BDD 的框架的情况下,您只会将您现在称为 "main" 的内容称为 "steps",并且每个测试都有自己的故事文件,访问一个或多个, 步骤文件。其余的保持不变。其背后的想法是它允许您创建和维护现有和未来故事文件可以参考的相关步骤库。
希望这可以帮助您 and/or 其他人更好地理解流程。另外,免责声明 - 这大部分是我的意见 - 可能有很多方法来绘制关系,但我描述的是我使用的。
进一步检查,我发现我漏掉了下半部分(我是视障人士)。 test运行ner 通常位于此环境中链的最顶端。它 运行 作为单个 JUnit 或 TestNG 测试 运行 您的所有故事。
现在我的浏览器乱七八糟,我无法重新向上滚动以再次确认该图表以发表更多评论。
我对我要描述的内容画了一个粗略的布局。我希望它能更清楚地解释我对你问题的回答。
这是基本的项目树:
这里是 src/test/java 展开的:
最后,src/test/resources 展开
\src\main\resources 中唯一的东西是 JBehave 用来允许对其报告进行一些自定义的一些额外内容,称为 FTL。