permission.login

#!/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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值