【问题标题】:What is the best way to organize my project of page factory framework组织我的页面工厂框架项目的最佳方式是什么
【发布时间】:2018-05-12 09:00:33
【问题描述】:

所以,我正在为具有登录页面、注册、设置等的应用程序构建一个带有 selenium webdriver 的 pagefactory testng 框架。 到目前为止,我已经将我的项目结构保留为每个屏幕的单独页面类,例如用于登录的主页、用于注册的注册、用于设置功能的设置。 对于测试用例,主页功能在 1 个包下,其他模块测试用例在各自的包中。我的问题更多的是关于很多导航条件。我应该如何组织导航条件。到目前为止,我正在编写来自同一主页包下登录屏幕的所有导航,类似地从各自包中的其他屏幕导航。 我想了解在 selenium 框架中组织文件夹结构的最佳方式是什么。

【问题讨论】:

  • 可以使用maven项目结构
  • 请您澄清一下这个问题。导航条件是什么意思?
  • 我使用相同的 Maven 项目结构,但我的应用程序就像注册屏幕可以从多个其他屏幕导航,如登录屏幕、设置屏幕。因为我在一个模块下构建我的测试用例。敌人示例在一个包下登录相关的测试脚本。现在导航到注册,因为这可以通过多个屏幕来实现,我已经编写了一个单独的代码,用于导航到注册屏幕与 if else。现在我的问题是,我应该在哪个包中放置这个导航代码,即在登录包或注册中或其他包?

标签: selenium selenium-webdriver testng project-structure page-factory


【解决方案1】:

我认为您的 POM 包包含所有页面对象和功能,对吗?如果是这样,您可以在 OOP 中使用聚合和组合。创建一个名为 components 的新包,该包应包含所有页面组件。 这是什么意思?您可以将页面创建为部件(组件)。 如果您的主页有 1 个顶部菜单和 1 个侧边菜单以及元素的主列表,您可以将其创建为部分,顶部菜单为 1 个类,其他类为另外 2 个类。您作为 POM 的主页类应该使用使用 OOP 聚合或组合的所有 3 个类功能。 在您的测试步骤中进行独立导航,测试步骤必须包括您页面上的点击。

例如: 创建登录页面实例 登录 登录 现在你在主页 创建主页实例 主页导航到设置页面 . . 等等

你是说上面的吗?如果不是,请详细说明您的问题。

【讨论】:

  • 嗨。谢谢。我需要这样的东西。我唯一担心的是,如果我为零件创建多个类,那么它不会使项目在很多类方面变得庞大。
  • @shashankshekhar,这就是页面对象模型的工作原理,别管你的班级人数。您可以在实现 POM 时以非常好的方式工作,请查看 Factory Design Pattern tutorialspoint.com/design_pattern/factory_pattern.htm
  • 好的,谢谢。还需要一个更有价值的反馈。所以我的应用程序页面之一是它有大约 9 个车型的车型列表,我为每个车型填写单独的测试用例在一堂课。每次我完全填写表格时,我都会单击下一步按钮来检查验证。现在,由于我的所有测试用例都在一个带有注释 @Test 的类中,我应该如何安排测试用例,以便在完成一个测试用例运行后它重置为下一个 @Test 的起点?请建议
  • 你可以使用测试依赖tutorialspoint.com/testng/testng_dependency_test.htm。或将优先级与值结合使用。
  • 嗨@Nael,我按照您的说明为主页创建单独的组件,例如主页我创建了一个注册类,一个帮助和一个主表单。现在我无法弄清楚如何在每个页面上进行独立导航。就像在登录页面上单击注册链接一样导航到注册页面。如何以相同的方法将驱动程序实例从登录传递到注册。请咨询。
猜你喜欢
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 2010-09-08
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 1970-01-01
相关资源
最近更新 更多