#!/usr/bin/env python
#coding:utf-8
__author__ = 'EX-PENGFEI913'
import json
import requests
import operator
import os
from xml.dom import minidom
#发送请求
def sendData(par):
payload={}
payload[0]=par[6]
params=par[5]
mystr=par[4]
#发送请求
with open('permission.txt','a+') as rs:
#返还代码为404时会出现异常
try:
data=requests.get(mystr,params=payload)
except Exception as e:
if operator.eq("404",par[6]):
rs.write('通过\n')
else:
rs.write("失败\n")
else:
print(data.text)
r=str(data.status_code)
print (r)
try:
#非404错误检查返回码与检查字符串是否匹配
if((operator.eq(r,par[6])) and (par[7]) in data.text):
rs.write('通过\n')
else:
rs.write("失败\n")
except Exception as e:
rs.write("没有执行结果\n")
rs.close()
#生成HTML报告
def report(par,line):
mystr="<tr>"
mystr=mystr+"<td>"+par[0]+"</td>\n"
mystr=mystr+"<td>"+par[1]+"</td>\n"
mystr=mystr+"<td>"+par[2]+"</td>\n"
mystr=mystr+"<td>"+par[3]+"</td>\n"
mystr=mystr+"<td>"+par[4]+"</td>\n"
mystr=mystr+"<td>"+par[5]+"</td>\n"
mystr=mystr+"<td>"+par[6]+"</td>\n"
mystr=mystr+"<td>"+par[7]+"</td>\n"
mystr=mystr+"<td>"+line+"</td>\n"
mystr=mystr+"</tr>\n"
return mystr
#获得参数
def getpar():
par=[]
par.append(Testlds[i].firstChild.data)
par.append(Titles[i].firstChild.data)
par.append(Mothods[i].firstChild.data)
par.append(Descs[i].firstChild.data)
par.append(Urls[i].firstChild.data)
par.append(LnptArgs[i].firstChild.data)
par.append(Results[i].firstChild.data)
par.append(CheckWords[i].firstChild.data)
return par
#主程序
if __name__ == "__main__":
dom = minidom.parse('permission.xml')
root=dom.documentElement
#获取xml信息
Testlds=root.getElementsByTagName('Testld')
Titles=root.getElementsByTagName('Title')
Mothods=root.getElementsByTagName('Mothod')
Descs=root.getElementsByTagName('Desc')
Urls=root.getElementsByTagName('Url')
LnptArgs=root.getElementsByTagName('LnptArg')
Results=root.getElementsByTagName('Result')
CheckWords=root.getElementsByTagName('CheckWord')
i=0
#逐个进行测试,测试结果临时放在rightside.txt文件中
with open('permission.txt','w') as rs:
for Testld in Testlds:
par=getpar()
sendData(par)
i=i+1
rs.close()
frs=open("permission.txt","r")
lines=""
i=0
for Testld in Testlds:
line=frs.readline()
par=getpar()
lines=lines+report(par,line)
i=i+1
frs.close()
#通过模板html文件生成WEB测试报告
fhtml=open("index.html","r")
myline=fhtml.read()
myline=myline.replace('###1',lines)
fhtml.close()
with open('permission_report.html','w') as fhtml1:
fhtml1.write(myline)
fhtml1.close()
#coding:utf-8
__author__ = 'EX-PENGFEI913'
import json
import requests
import operator
import os
from xml.dom import minidom
#发送请求
def sendData(par):
payload={}
payload[0]=par[6]
params=par[5]
mystr=par[4]
#发送请求
with open('permission.txt','a+') as rs:
#返还代码为404时会出现异常
try:
data=requests.get(mystr,params=payload)
except Exception as e:
if operator.eq("404",par[6]):
rs.write('通过\n')
else:
rs.write("失败\n")
else:
print(data.text)
r=str(data.status_code)
print (r)
try:
#非404错误检查返回码与检查字符串是否匹配
if((operator.eq(r,par[6])) and (par[7]) in data.text):
rs.write('通过\n')
else:
rs.write("失败\n")
except Exception as e:
rs.write("没有执行结果\n")
rs.close()
#生成HTML报告
def report(par,line):
mystr="<tr>"
mystr=mystr+"<td>"+par[0]+"</td>\n"
mystr=mystr+"<td>"+par[1]+"</td>\n"
mystr=mystr+"<td>"+par[2]+"</td>\n"
mystr=mystr+"<td>"+par[3]+"</td>\n"
mystr=mystr+"<td>"+par[4]+"</td>\n"
mystr=mystr+"<td>"+par[5]+"</td>\n"
mystr=mystr+"<td>"+par[6]+"</td>\n"
mystr=mystr+"<td>"+par[7]+"</td>\n"
mystr=mystr+"<td>"+line+"</td>\n"
mystr=mystr+"</tr>\n"
return mystr
#获得参数
def getpar():
par=[]
par.append(Testlds[i].firstChild.data)
par.append(Titles[i].firstChild.data)
par.append(Mothods[i].firstChild.data)
par.append(Descs[i].firstChild.data)
par.append(Urls[i].firstChild.data)
par.append(LnptArgs[i].firstChild.data)
par.append(Results[i].firstChild.data)
par.append(CheckWords[i].firstChild.data)
return par
#主程序
if __name__ == "__main__":
dom = minidom.parse('permission.xml')
root=dom.documentElement
#获取xml信息
Testlds=root.getElementsByTagName('Testld')
Titles=root.getElementsByTagName('Title')
Mothods=root.getElementsByTagName('Mothod')
Descs=root.getElementsByTagName('Desc')
Urls=root.getElementsByTagName('Url')
LnptArgs=root.getElementsByTagName('LnptArg')
Results=root.getElementsByTagName('Result')
CheckWords=root.getElementsByTagName('CheckWord')
i=0
#逐个进行测试,测试结果临时放在rightside.txt文件中
with open('permission.txt','w') as rs:
for Testld in Testlds:
par=getpar()
sendData(par)
i=i+1
rs.close()
frs=open("permission.txt","r")
lines=""
i=0
for Testld in Testlds:
line=frs.readline()
par=getpar()
lines=lines+report(par,line)
i=i+1
frs.close()
#通过模板html文件生成WEB测试报告
fhtml=open("index.html","r")
myline=fhtml.read()
myline=myline.replace('###1',lines)
fhtml.close()
with open('permission_report.html','w') as fhtml1:
fhtml1.write(myline)
fhtml1.close()