跟着博主的一系列文章学习下来, 对自动化测试框架 有了更加深入的了解,接下来学习一下selenium自动化中用到的模型思POM
(http://blog.csdn.net/huilan_same/article/details/76572776 )
POM:Page Object Model(页面对象模型)
POM只是一种开发模式,做selenium自动化所使用的一种开发模式
引入POM的原因:
减少代码开发工作量,提高代码重用性
提高代码的可读性
减轻后期维护代码的工作量
POM的实现,就是通过分离测试对象和测试脚本的抽象来实现的。
PO的思想:页面中要操作元素的动作,全部进行独立定义,每一个方法都是独立的组件,而这个Page页面相当于是组件仓库。然后再通过Case脚本页面中,通过调用组件的方法来拼凑自动化用例脚本(注:对于一些通用的的公共方法,可以单独创建一个Base.py脚本进行定义存放)
http://www.cnblogs.com/tsbc/p/4080301.html 这篇文章也进行了一些讲解,大概知道POM思想的主要就是测试对象(也就是页面)与测试脚本的分离,运用python基础知识进行各部分的封装调用,学会分离、封装公共基础类,以便代码的复用,虽然理解了这种思想的含义,但是要真正会熟练用还需要多练习多思考。
二、接下来接着学习补充一下unittest的一些知识
参考文章:http://blog.csdn.net/u011541946/article/details/70460305
1、使用addTest()方法来加载测试用例到测试套件中
import unittest
from test.test_baidu import TestBaiDu #导入测试用例类
suit = unittest.TestSuite() #创建测试套件
suit.addTest(TestBaiDu('test_search_one'))
if __name__=='__main__':
#执行用例
runner= unittest.TextTestRunner()
runner.run(suit)
2、利用makeSuite()方法,一次性加载一个类文件下所有测试用例到suite中
import unittest
from test.test_baidu import TestBaiDu
#添加一个类中的测试用例
suit = unittest.TestSuite(unittest.makeSuite(TestBaiDu))
if __name__=='__main__':
#执行用例
runner= unittest.TextTestRunner()
runner.run(suit)
3、利用discover()方法去加载一个路径下所有的测试用例
import unittest
from test.test_baidu import TestBaiDu
#添加一个目录下的测试用例,直接使用目录路径
suite=unittest.TestLoader().discover(目录路径)
if __name__=='__main__':
#执行用例
runner= unittest.TextTestRunner()
runner.run(suit)
接下来该自己用所学来设定场景运用了,祝坚持