pageobjects最佳实践主要包括以下几个方面:
1.封装界面交互细节:PageObjects的主要优点体现在对界面交互细节的封装上,这样可以使测试案例更专注于业务的操作,从而提高测试用例的可维护性。这种封装可以通过创建一个类来实现,该类包含了页面上的所有元素和与这些元素交互的方法。这样做的好处是,即使页面布局发生变化,测试代码也不需要做太多的修改。
2.提供清晰的结构:PageObjects应该有清晰的结构,例如,PageObjects对应页面对象,PageModules对应页面内容。这种结构使得测试代码更容易理解和维护。
3.避免重复的代码:PageObjects应该尽可能地避免重复的代码。例如,对于页面中逻辑紧密的UI元素,可以将它们直接定义为PageObjects,这样做可以大幅度减少不必要的关于元素代码的文件产生。
4.使用公共方法代表UI功能:PageObjects应该使用公共方法来代表UI所提供的功能。例如,企业微信的通讯录页面提供了“添加成员”、“批量导入,导出”、“设置所在部门”、“删除”等功能,这些功能都可以封装成通讯录这个UI界面所提供的方法。
5.返回其他PageObjects或用于断言的数据:PageObjects的方法应该返回其他的PageObjects或者返回用于断言的数据。这种方法可以使测试代码更加简洁和易于理解。
6.使用
xpath
进行元素定位:在使用PageObjects进行自动化测试时,建议使用
xpath
方式来寻找页面元素,因为
xpath
是基于页面元素所处区域,一般不会发生变化,测试代码基本不受干扰。
7.避免在PageObjects中进行断言:为了避免代码的混乱,建议不要在PageObjects中进行断言。断言方法应该返回其他PageObjects或用于断言的数据,而不是直接进行断言。
8.在可能的情况下防止样板代码:PageObjects的设计应该尽可能地防止样板代码的出现。例如,可以通过创建基类来封装一些常用的代码,然后让具体的PageObjects继承这些基类。
以上就是PageObjects的最佳实践,遵循这些实践可以帮助我们更好地使用PageObjects进行自动化测试。