1

我正在实施一个项目,我正在测试我的 UI。因此,我的 UI 的每个部分都是一个单独的类(Seleniums 页面对象模式)。现在,因为它只是我正在测试的一个网页,据我说,我的 UI 组件只有一个实例,虽然它们确实改变了状态,但我看不到这些组件的多个实例浮动的好处.

所以,我很想把它们都设为单例,这是一种不好的做法吗?

例如 -

|------------------------------------------------- ------------|
| |
| |
|------------------------------------------------- ------------|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
|------------------------------------------------- ------------|

在整个用户会话期间,所有这些部分都将保留在我的页面上,但它们可能会更改状态,例如切换、调整大小、更改其中的数据等。

有什么想法吗?

4

1 回答 1

1

页面对象 gem(通过 Ruby)实现的想法之一是使用页面工厂类型的对象封装页面类的实例化。特别是,这是'on_page'方法,用法就像

on_page(MyPageClass) do |page|
  page.do_actions
end

提供的块应该有一个参数,工厂中创建的实例将传递给该参数。

也许你可以采用类似的想法。在我看来,最好有页面类的实例;我的理由是您的页面类操作应该是“无记忆的”。

于 2013-05-16T14:00:30.747 回答