当前位置: 首页 > 知识库问答 >
问题:

实现页面对象模型

益源
2023-03-14

我正在使用Perl和Selenium构建一个测试自动化项目。我正在使用页面对象模型。我有点不确定Selenium驱动程序将适合页面对象模型的实现。

每个页面对象是否应该“有”一个驱动程序?我的想法是,每个页面对象代表页面向用户提供的一组服务。考虑到这个概念,页面对象与驱动程序没有“has-a”关系。页面对象与驱动程序交互。不过,我仍在寻求建议。我应该将驱动程序作为web应用程序中每个页面对象的一部分吗?

谢谢

共有3个答案

郎羽
2023-03-14

顺便,我实现了框架。我在包含常用元素的公共actory.class中使用了驱动程序。每个页面都被实现为公共actory.class.的子类,因此您不必在每个类中实现驱动程序。由于驱动程序独立于测试场景,所以最好以单独的方式使用它。

丁恩
2023-03-14

我总是包括驱动程序作为每一个页面对象的一部分。我对驱动程序的看法是,它代表当前页面的状态。它允许访问URL、Page Source等。

现在,每个页面都有一个当前URL、一个页面源代码和一个页面标题,这些都可以通过驱动程序访问。

程举
2023-03-14

这个答案与@zodvik和你的思维过程没有太大不同,而是另一种可选的方法。您可以创建一个抽象类,每个页面对象都可以从中继承,而不是传递驱动程序。从抽象类中,也可以包含一些你会发现自己经常使用的常见函数方法。

至少我用Java语言是这样做的。

 类似资料:
  • 在Java页面对象模型中创建步骤时实例化对象的最佳方法是什么? 有人知道Cucumber脚本是如何编译的吗? 我想,如果一切都建成并符合要求,下面的第二个或第三个选项可能是最好的方法。 如果只编译与正在执行的测试相关的步骤,那么我想这将是第一个。 我举了以下例子: 以上所有步骤(在同一个LoginSteps.java类中加上更多)从以下开始 这是最好的方法,还是创建单个实例更好? 或者在Login

  • 我正在评估作为网络回归工具的Telerik测试工作室(http://www.telerik.com/automated-testing-tools),并寻找如何设置和使用页面对象模型环境,就像在Selenium中一样。 http://code.google.com/p/selenium/wiki/PageObjects 他们的文档侧重于录制/回放,这非常脆弱,我的谷歌搜索也没有找到相关链接。

  • 我正在实现页面对象模型的过程中,我有一个关于它的问题,请参阅下面: 我创建了页面文件,其中包含页面的定位器和方法,我创建了spec文件,在其中通过调用这些方法进行断言。我的问题是,对于一个页面,我有100多个测试用例,现在我应该为单个测试创建单个断言文件,还是为100个测试创建100个断言文件。 请让我知道什么是最好的管理方法。 你好,马南

  • 我正在使用Selenium为我的网站构建一个测试框架,我实际上希望您在使用页面对象模型时对良好实践的想法:让我们说,我有一个欢迎页面,其中包含一个注销按钮存在的标题,这个标题可以在大多数页面中看到在我的页面中,我认为最好为标题写一个单独的类,比如: 公共类欢迎页 我的问题是,你认为在欢迎页面中包含标题作为属性更好还是应该将它们分开? 让我们以注销测试方法的代码为例: 案例一: 案例2: 第二个问题

  • 是否有任何Gem(比如siteprism:用于Web自动化测试)可以在我的移动自动化测试项目中使用,以使用页面对象模型模式定义屏幕。 提前谢谢

  • 我从0开始开发我的项目已经1年了。我的框架和测试已经达到了一定的“维护”水平。然而,每天我都在怀疑我是否在我的项目中使用了良好的实践。如果有经验的人能回答我的几个问题就好了。我主要对页面对象模式和页面工厂有疑问。 简要说明: 我的项目是一个基于一页的应用程序,用C#,angular编写。js,javascript。驱动程序是一个静态实例,它有很多额外的方法(在下面的代码中,我只展示了2)。每个页面