permission.login

来源:互联网 发布:淘宝好评返现哪个类目 编辑:程序博客网 时间:2024/06/03 17:22
#!/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()