本文共 1811 字,大约阅读时间需要 6 分钟。
在开始之前,请让我先声明几点:
既然要搭一个框架,我们首先得弄明白我们需要一个什么样的框架,这个框架要支持什么功能?
框架主要的作用就是帮助我们编写更加简单而且好维护的用例,让我们把主要精力放在测试用例的设计上,那么我们就需要把所有额外的东西抽象出来作为框架的部分。
那么,额外的东西是什么?
现在我们很容易就把框架的结构搭建好了:
Test_framework |--config(配置文件) |--data(数据文件) |--drivers(驱动) |--log(日志) |--report(报告) |--test(测试用例) |--utils(公共方法) |--ReadMe.md(加个说明性的文件,告诉团队成员框架需要的环境以及用法) 1 2 3 4 5 6 7 8 9 10
也可以参照这篇目录结构,都是类似的:
接下来有一些选择题要做了:
Python 3的使用越来越多,而且3的unittest中带有subTest,能够通过子用例实现参数化。而用2的话需要unittest2或其他的库来实现,所以我们这里选用Python 3。
Selenium 3刚发布正式版不久,一些功能driver还没来得及跟上,尤其是geckodriver,所以选择Selenium 2(注意PY3的话要选择SE2.53.1)。
环境选择其实影响不大,你也可以选择你自己习惯的环境。
配置文件我们有多种选择:ini、yaml、xml、properties、txt、py等
鉴于我之前写过一篇yaml的博文,我们这里就用yaml吧。
所以我们在config文件夹里创建config.yml文件,在utils里创建一个config.py文件读取配置,内容暂且不管。
整个流程下来我们一个简单的框架就像模像样了,在此基础上可继续完善,实际用在项目中也没有什么问题,再简单结合 Jenkins
部署起来,定期或每次代码提交后可自动运行测试,直接把测试报告发送到项目成员手中,妥妥的!接下来就跟我一块学习吧。
所有的代码我都放到了,可以自己下载去学习,有什么好的建议或者问题,可以留言或者加我的讨论。
转载地址:http://bjbg.baihongyu.com/