我称呼它为撸代码,也就是按照业务逻辑直接hard code。基本上初学者都会这样折腾,固然,折腾了一段时间就会以为很操蛋,本身都不想看本身写的代码。web
比较流行的设计模式,高度解耦,初学者看起来会以为有点操蛋,可是了解了逻辑以后,会发现这样作很是棒,维护起来简直是轻松加愉快。json
通用框架就是比较高级的作法了,实施起来比较麻烦,若是水平到了,这种方式确定是最好的,利用关键字来驱动程序,是比较高级的境界。缺点就是比较难。。。。设计模式
整个设计思路是基于Page Object模式,以下图:架构
什么是Page Object?app
When you write tests against a web page, you need to refer to elements within that web page in order to click links and determine what’s displayed. However, if you write tests that manipulate the HTML elements directly your tests will be brittle to changes in the UI. A page object wraps an HTML page, or fragment, with an application-specific API, allowing you to manipulate page elements without digging around in the HTML.框架
原来是Web端的模式,搬到移动端来,就是把页面分拆成一个一个元素,如示意图所示,我拆分为元素数据、元素定位、元素操做、测试步骤这么些东西。测试
这种模式整个架构看起来比直接撸代码复杂了不少,不过当遇到一些坑爹的问题时,尤为开发频繁改动的时候,这种设计模式的优点就出来了,好比开发改了元素的ID那些东西,那么咱们只要修改相应ID就好了,全部和这个元素相关的都直接关联修改了,,而直接撸代码,涉及到的地方可能会有不少,改动起来很麻烦。查找方法,测试步骤什么的都不用改,维护起来相对轻松。ui
项目结构:spa
____.DS_Store
|____config.py |____Data | |____data.json |____img | |____.DS_Store | |____caixun | | |____gupiao.png | | |____gupiaoneirong.png | | |____jijin.png | | |____jijinneirong.png | | |____tuijian.png | | |____tuijianneirong.png | | |____xinsanban.png | | |____xinsanbanneirong.png | | |____zhaiquan.png | | |____zhaiquanneirong.png | | |____黄金.png |____Report |____test.py |____TestCase | |______init__.py | |____common.py | |____testCaixun.py |____View | |______init__.py | |______init__.pyc | |____BaseTestCase.py | |____BaseView.py | |____Caixun.py
大的目录我是这么划分的:设计