标签:
1.1 定义:
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件(类)及构件(类)实例间交互的方法。
1.2 为什么要搭建自动化测试框架
自动化测试的开发,通常是由自动化测试的需求决定的。这个需求主要包括:
2.1 定义
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
2.1 使用设计模式
是为了重用代码、让代码更容易被他人理解、保证代码可靠性。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。
参见网站:http://www.runoob.com/design-pattern/design-pattern-tutorial.html
3.1 定义
对于简单的Selenium自动化测试,我们要做的不过是找到页面元素,并且值传递给这些元素。但是假如有10个脚本同时调用了一个相同的页面元素,当这个元素发生改变,我们需要修改10个脚本。随着脚本数的增加,时间工作复杂度也飞速增长。这个时候我们就可以考虑设计一个类,专门用来页面元素的查找、传递值和修正。这样,当一个页面元素发生改变的时候,只用修改一个类,而不用同时修改10个脚本。
Page Object是一种程序设计模式,将面向过程转变为面向对象(页面对象),将测试对象(按钮、输入框、标题等)及单个的测试步骤封装在每个Page对象中,以page为单位进行管理。
这样,在Selenium测试页面中可以通过调用页面类来获取页面元素,从而巧妙的避免了当页面元素id或者位置变化时,需要改测试页面代码的情况。当页面元素id变化时,只需要更改测试页Class中页面的属性即可。可以使代码复用,降低维护成本,提高程序可读性和编写效率。
3.2 优点
3.3 Page Factory
Page Factory是一个很好的设计Object repository的模式,以此来实现Selenium WebDriver中的POM概念。
4.1 Page模式:
1. 抽象出一个BasePage基类,包含一个指向selenium.webdriver的属性
2. 每一个webpage都继承BasePage,通过driver来获取本页面的元素,每个页面的操作都抽象为一个个方法
3. TestCase继承unnitest.TestCase类,并依赖相应的Page类来实现相应的test case步骤
4.2 PO对象
4.3 WebDriver封装
1) 定义:封装就是把原始和原生的方法进行再包装。将原始的代码用心的代码包装起来,通过对新代码的调用,来使用原始的代码的过程。
2) 好处:主要为实现自动化测试框架的:维护成本低、重用性高、安全性高
对Selenium进行封装的好处主要有如下三个方面:
4.2 BasePage
标签:
原文地址:http://www.cnblogs.com/lesleysbw/p/5893905.html