python 接口自动化测试(四)
来源:互联网 发布:smali文件转java 编辑:程序博客网 时间:2024/06/05 06:45
说完了SOAP协议的接口自动化
该说下http协议的接口测试了
HttpService.py
import requestsimport sysreload(sys)sys.setdefaultencoding( "utf-8" )class HttpService(): def __init__(self,host,url): self.host=host self.url=url def httpReq(self,params,method="POST"): requesturl=self.host+self.url if(method == "POST"): resp_data=requests.post(requesturl,params) else: resp_data=requests.get(requesturl) resp=resp_data.text return resp
这是http请求的实现类,运用了requests模块
之后就是在具体的执行文件中调用上面的HttpService.py
在RunMain.py中添加方法:
def runHttpTest(ip,list,serviceClass): length=len(list) #实现控制台输出执行进度 widgets = [ip+' Progress: ', Percentage(), ' ', Bar(marker=RotatingMarker('>')), ' ', ETA()] pbar = ProgressBar(widgets=widgets, maxval=length).start() for i in range(length): pbar.update(i+1) try: #实例化类的对象 runhttptest = serviceClass(ip,str(list[i][0])) if(str(list[i][2]) == "GET"): #判断http请求的方法 test_rep=runhttptest.httpReq(None,"GET") DataEngine.httpGetResultCheck(test_rep,xlw,list,i) #返回结果判断 else: dict=eval(str(list[i][2])) test_rep=runhttptest.httpReq(dict) DataEngine.httpResultCheck(test_rep,xlw,list,i) except Exception,e: print(str(list[i][1])+"\t"+str(e)) Logging.writeException(e) pbar.finish()
由于接口返回结果和SOAP接口的返回结果类型不一致,所以DataEngine.py中的结果处理方法就要做一些扩展,由于时间关系,我这边就直接另写了两个方法进行结果断言处理
def httpResultCheck(test_rep,xlw,list,xls_row): global COUNT_ROWs result=test_rep.find(',"status":1',22) if(result != -1): xlw.write_HttpResult(COUNT_ROWs,list,xls_row,True) COUNT_ROWs=COUNT_ROWs+1 else: Logging.writeHttpLog(str(list[xls_row][1]),str(test_rep)) xlw.write_HttpResult(COUNT_ROWs,list,xls_row,False) COUNT_ROWs=COUNT_ROWs+1def httpGetResultCheck(test_rep,xlw,list,xls_row): global COUNT_ROWs test_rep=json.loads(test_rep) result=test_rep['status'] if(result == 1): xlw.write_HttpResult(COUNT_ROWs,list,xls_row,True) COUNT_ROWs=COUNT_ROWs+1 else: Logging.writeHttpLog(str(list[xls_row][1]),str(test_rep)) xlw.write_HttpResult(COUNT_ROWs,list,xls_row,False) COUNT_ROWs=COUNT_ROWs+1
以上就是所有的代码添加:
执行后结果输出见下图:
其中执行失败的用例,会以红色醒目标识出来,并在其后输出具体的中文用例描述
阅读全文
0 0
- python 接口自动化测试(四)
- python接口自动化测试(一)
- python 接口自动化测试(一)
- python 接口自动化测试(二)
- python 接口自动化测试(三)
- python自动化接口测试(百度翻译)
- python自动化测试--接口测试+html 1
- WEB接口测试之Jmeter接口测试自动化 (四)(持续构建)
- 如何简单实现接口自动化测试(基于 python)
- python 接口自动化测试--框架整改(五)
- python 接口自动化测试--框架定型(六)
- python 接口自动化测试--代码实现(七)
- python 接口自动化测试--代码实现(八)
- Selenium2 Python 自动化测试实战学习笔记(四)
- selenium+python自动化测试(四)--鼠标和键盘事件
- 测试HTTP接口的python自动化脚本
- Python + Requests + Unittest接口自动化测试
- Jenkins + python(requests)做接口自动化测试
- 编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
- python字符串格式化(format)
- 【数据结构】链式存储——定义
- UML常用图的几种关系的总结
- 正则表达式30分钟入门教程
- python 接口自动化测试(四)
- CentOS 6.5中yum安装报error: rpmdb: damaged header #844 retrieved -- skipping
- MediaPlayer: Couldn't open /storage/emulated/0/kgmusic/download/独家记忆.mp3: java.io.FileNotFoundExcept
- Java线程池ThreadPoolExecutor源码解析
- 如何将Angular localhost:4200 改为IP
- Mac下配置android环境变量
- unity中关于射线发射函数的一些解释
- C++ builder 遍历所有组件的 caption 属性,轻松实现界面多语言支持
- Rxjava2.x学习记录(三)