这个网站的后台主要是php和java, 也就是说,一些基础的服务,如充值提现,投标起息还款,是采用spring mvc的框架来写的,然后php来调用java的API,java平台通过intercepter将php 传递过来的http请求映射到对应的controller,controller再通过map映射到对应的服务和实现。
简单来说网站框架就类似如下:
网站一些基本的业务如注册登录,用户中心,投资、红包等等由用户前台触发php调用,一些活动、红包、礼品券等等由后台触发php调用,充值提现投资起息还款由java平台实现。
基于这样的平台的自动化测试框架选型的时候,笔者考虑过以下几种:
一种是采用基于selenium,集成thinkphp的框架来写。主要的原理就是利用selenium的firefox插件来录制,页面上的html元素和javascript脚本,然后做2次封装将这些录取到的元素和js封装成一个个的标准对象,保存到标准对象库,然后再添加一些数据库的数据准备和数据清理函数,以及数据库增删改查语句。
... ...
查看更多精彩内容,请点击下载:http://www.51testing.com/html/35/n-3578035.html
在识别对象的时候可以直接通过java里面的类来映射,也可以直接用web相关类库里面的类,甚至是windows平台类……QTP提供了多种识别方式以帮助定位对象,这样只用修改少量的对象属性,在回放脚本和编辑核心代码的时候,就可以起到事半功倍的效果,但是QTP也有缺点,就是对于Js的处理不方便,还有就是时刻需要启动QTP,而不能和一些开源测试框架特别是java开源项目,来实现自动部署测试用例和自动打包的集成。
ruby +watir 的原理和selenium也是类似,也是一种基于WEB GUI的自动化测试框架,笔者研究甚少,也就不多言了。
但是由于p2p行业的特性,这些基于web的自动化测试框架有很多不适合的地方,跟投资充值提现相关的这些相关的功能,比较在乎的不仅仅是页面上的一些元素功能的显示,更关心的是这个数据的正确性。
如果采用基于GUI的方式做自动化测试,个人感觉针对页面元素的识别和校验往往并不能反映数据正确性,而在处理页面元素异常的时候,也往往无法针对复杂业务逻辑和数据做较强的处理和效益,而且GUI是模拟人工处理,在执行效率上面,也是效果较差,而且如果出现某个页面元素无法识别或者异常,有可能中断整个页面的处理,在分析代码覆盖率的时候,基于web的方式也不是那么容易分析。
... ...
查看更多精彩内容,请点击下载:http://www.51testing.com/html/35/n-3578035.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。