POM模型数据和定位器位置

时间:2018-11-12 14:58:32

标签: javascript testing jasmine protractor

使用POM模型数据模式进行测试时,最好将页面对象中的元素定位器放置在页面中,或者将它们放置在单独的文件中,例如测试数据

pageObject
    loginPage
    homePage

testDate 
    loginPageData
    homePageData

pageLocators
    loginPageLocators
    homePageLocators
specs
    loginTest.js

非常感谢

1 个答案:

答案 0 :(得分:0)

一切都对您有好处。没有一个正确的答案。因此,我将分享我在当前项目中使用POM的经验。

没有人想到过POM的一个小缺点:沿着链条导航到底部定位器。

我与完美主义者一起工作了一段时间,他们认为如果逻辑上有所不同,则应将其放入单独的文件中。因此,我们将定位器与elementFinders和与页面交互的方法分开存储。这是合理的,但是请考虑如果我调试失败的测试,我需要经历什么:

  • 在规范中查找失败的行,并跳入导致错误的方法的源代码
  • 此方法属于扩展类,并且依赖于父类,因此我跳到该类的源头
  • 该方法与在其他地方定义的元素交互,因此我必须打开该文件
  • 该元素的定位符存储在另一个文件中,所以我也需要找到该文件

最后,当我找到定位器时,我忘记了我在做什么,更不用说过程的繁琐和时间的浪费了。

因此,在我的下一个项目中,我试图在代码的简洁性和文件之间导航的整体可用性和易用性之间取得平衡,并对我构建代码的方式感到满意

祝你好运!