PageObject和极限编程(XP)是两个不同的概念,但他们都在软件开发的不同方面发挥作用。
PageObject设计模式
PageObject是一种设计模式,主要用于自动化测试项目开发实践,它主要体现在对界面交互细节的封装,这样可以使测试案例更关注于业务而非界面细节,从而提高测试案例的可读性。在PageObject模式中,页面元素和页面操作被分离,当页面发生变动时,只需要修改底层查找元素的方法即可,这大大提高了代码的维护性和可读性。PageObject模式的一个基本经验法则是,凡是人能做的事,page对象通过软件客户端都能够做到。因此,它也应当提供一个易于编程的接口并隐藏窗口中底层的部件。所以访问一个文件框应该通过一个访问方法(accessormethod)来实现字符串的获取与返回,复选框应当使用布尔值,按钮应当被表示为行为导向的方法名。
极限编程(XP)
极限编程(XP)是一种轻量级的、灵活的软件开发方法。它强调要把工作环境做得最好,每个参加项目开发的人都将担任一个角色并履行相应的权利和义务。所有的人都在同一个开放的开发环境中工作,每周40小时,不提倡加班。XP提倡简单的设计,即针对每个简单的需求用最简单的方式进行设计和后续的编程工作。这样写出来的程序可以通过所有相关的单元测试。XP强调抛弃那种一揽子详细设计方式,因为在这种设计中有很多内容是现在或近期所不需要的。XP还大力提倡设计复核、代码复核、重整和优化。在这些过程中不断运行单元测试和功能测试,可以保证经过优化后的系统仍然符合用户的需求。
虽然PageObject和XP看似无关,但他们在软件开发的不同阶段都有着重要的作用。PageObject模式主要用于软件开发的测试阶段,用于提高测试代码的可读性和降低维护成本;而XP则主要在软件开发的编码阶段,强调简单设计、频繁反馈和持续优化。两者都是软件开发过程中的重要环节,但分别处于不同的阶段和目的。