自动化测试,javasript遍历JSON对象及XML对象
来源:互联网 发布:多个list转json 编辑:程序博客网 时间:2024/06/05 18:18
在web开发进行自动化测试时,通常需要定义测试的预期结果,在js执行ajax请求后需要对比返回结果和预期结果来判读测试是否通过。
测试的结果通常是json格式或xml格式,因此需要对json和xml进行解析。
解析JSON--JSON遍历
//对比JSON格式的数据是否匹配function compareJSONResult(expectResult, returnResult){var type = typeof expectResult;if(type=='object'){//是对象if(typeof expectResult !='object'){return false;}if(expectResult instanceof Array){//是数组类型的对象if(!(returnResult instanceof Array)){return false;}var expectNum = expectResult.length;var returnNum = returnResult.length;if(expectNum!=returnNum){return false;}for(var i =0; i< expectNum; i++){var expectName = expectResult[i];var returnName = returnResult[i];if(!compareJSONResult(expectName, returnName)){return false;}}return true;}else{//是普通对象for(var expectName in expectResult){var expectValue = expectResult[expectName];var foundMatchName = false;var returnValue;for(var returnName in returnResult){if(expectName==returnName){foundMatchName = true;returnValue = returnResult[expectName];break;}}if(!foundMatchName){return false;}else{if(!compareJSONResult(expectValue,returnValue)){return false;}}}return true;}}else{//不是对象类型return expectResult==returnResult;}}
解析XML--XML遍历
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="html">//对比XML格式的数据是否匹配function compareXMLResult(expectResult, returnResult){if(expectResult.hasOwnProperty()){if(!returnResult.hasOwnProperty()){return false;}var expectAttributes =expectResult.attributes;var returnAttributes =returnResult.attributes;if(expectAttributes.length!=returnAttributes.length){return false;}for(var i=0; i< expectAttributes.length;i++){var expeAttr = expectAttributes[i];var retAttr ;var isFound=false;for(var j=0; j<returnAttributes.length;j++){retAttr = returnAttributes[j];if(expeAttr.name==retAttr.name){isFound = true;break;}}if(isFound){if(expeAttr.value!=retAttr.value){return false}}else{return false;}}}if(expectResult.hasChildNodes()){if(!returnResult.hasChildNodes()){return false;}for(var i=0; i<expectResult.childNodes.length;i++){var expectNode = expectResult.childNodes[i];var returnNode = returnResult.childNodes[i];if(!compareXMLResult(expectNode,returnNode)){return false;}}return true;}else{if(expectResult.nodeValue!=returnResult.nodeValue){return false;}else{return true;}}}
xml dom更多的信息 http://www.w3school.com.cn/xmldom/index.asp
欢迎转载,转载请注明出处http://blog.csdn.net/musa875643dn/article/details/50938308
1 0
- 自动化测试,javasript遍历JSON对象及XML对象
- JS json对象及遍历
- JavaSript对象-创建对象
- Dom4j递归遍历XML,返回对象(json)
- JavaSript对象(一)
- javasript 对象 创建 赋值
- JavaSript面向对象
- JavaSript面向对象编程
- 判断javasript对象总结
- Math对象(javasript)
- javasript Number 对象
- jQuery遍历JSON对象
- 遍历读取Json对象
- jQuery 遍历 JSON 对象
- jQuery 遍历 JSON 对象
- jQuery 遍历 JSON 对象
- jQuery 遍历 JSON 对象
- Json对象遍历
- 第三十二篇:关于opencv中图像的通道的问题
- Problem B
- 解决在weblogic(可能与之无关)下jsp通过post传递中文内容表单乱码问题
- AppInterface,一套Android与H5的混合开发框架
- 机房重构之导出Excel表
- 自动化测试,javasript遍历JSON对象及XML对象
- BZOJ4390Max Flow
- codeforces 630 I Parking Lot (规律&&组合)
- 虚拟机的三种网络模式
- 第四周项目5.3-用递归方法求解
- kafka入门
- 寄生组合继承
- IT行业2016研究分析
- 第三周项目一-个人所得税计算器