博主尝试了下更换python版本

之前很多脚本改正运行错误后、还是不能正常运行

忙会了半天还是没有成功

只好还原版本

所以下面的代码还没实际运行成功、先记录下

 #!/usr/bin/env python
# -*- coding: utf-8 -*- import subprocess
from createtest import CreateTest
import json
from xml.dom import minidom
import sys old_name = "case_login.txt"
new_name = "case_list.txt"
cmd = "pict " + old_name + " > " + new_name
path = "E:\work\python project" # noinspection PyTypeChecker,PyCallByClass
class CreateCase:
reload(sys)
sys.setdefaultencoding("utf-8") def __init__(self):
pass @classmethod
def case_cmd(cls):
subprocess.Popen(args=cmd, shell=True, stdout=subprocess.PIPE, cwd=path)
print "接口测试用例生成成功" @classmethod
def case_list(cls):
case_list = []
file_txt = open(new_name, "r+")
for line in file_txt.readlines():
line_txt = line.replace("\n", '').split("\t")
case_list.append(line_txt)
return case_list
# txt读取拆分截取 @classmethod
def case_data(cls):
data_list = []
for l in range(1, len(CreateCase.case_list())):
data_dict = {CreateCase.case_list()[0][0].decode("gbk"): CreateCase.case_list()[l][0].decode("gbk"),
CreateCase.case_list()[0][1].decode("gbk"): CreateCase.case_list()[l][1].decode("gbk")}
data_str = json.JSONEncoder().encode(data_dict)
data_json = json.loads(data_str)
data_list.append(data_json)
return data_list
# 创建字典转化json字符串、再转化成json格式 @classmethod
def case_result(cls):
post = "post"
url = "http://localhost:8081/swcw/back/sysLogin.action"
xml = minidom.Document()
xml.appendChild(xml.createComment("测试报告"))
caselist = xml.createElement("caselist")
xml.appendChild(caselist)
for i in range(0, len(CreateCase.case_data())):
case_result = CreateTest.test_api(post, url, CreateCase.case_data()[i])
case_code = str(case_result.status_code)
case_name = str(CreateCase.case_data()[i])
case_pattern = u"个人信息"
case_id = "swcw" + str(i)
try:
CreateTest.test_http(case_result.status_code)
except AttributeError:
pass
# 生成xml文件
case = xml.createElement("case")
case.setAttribute("id", case_id)
# 输入用例ID name = xml.createElement("name")
name.appendChild(xml.createTextNode(case_name))
# 输入用例名称
method = xml.createElement("method")
method.appendChild(xml.createTextNode(post))
# 输入接口类型
code = xml.createElement("code")
code.appendChild((xml.createTextNode(case_code)))
# 输入用例返回状态码
result = xml.createElement("result")
result.appendChild(xml.createTextNode(CreateTest.test_result(case_pattern, case_result.text)))
# 输入用例测试结果
time = xml.createElement("time")
time.appendChild(xml.createTextNode(CreateTest.test_time()))
# 输入用例执行时间 case.appendChild(name)
case.appendChild(method)
case.appendChild(code)
case.appendChild(result)
case.appendChild(time) caselist.appendChild(case)
# xml文件生成结束
filename = open(CreateTest.test_report(), "w+")
# 生成以当前时间命名的测试报告文件
xml.writexml(filename)
filename.close()
# 关闭文件 if __name__ == '__main__':
CreateCase.case_result()

python学习笔记(pict+requests+xml)的更多相关文章

  1. python学习笔记(requests)

    昨天用jmeter尝试了下接口测试 在部分接口中要上传文件这里遇到了问题.今天改用python的requests框架试下 先简单的写了个登录的接口.本人初学者,第一次写接口脚本 #!/usr/bin/ ...

  2. python学习笔记(生成xml)

    想着给框架加些功能 首先想到的是生成测试报告 这里就涉及到了生成什么格式的文件 我这边就准备生成 xml 格式的文件 自己先学习了整理了下 代码如下: #!/usr/bin/env python # ...

  3. Python学习笔记之——requests库

    requests库一个优雅而简单的用于Python的HTTP库,可以极大的简化我们发送http请求及获取响应的代码. requests是python的第三方库,所以使用之前需要先安装. 1.安装之后就 ...

  4. 吴裕雄--天生自然python学习笔记:Python3 XML 解析

    什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XML 被设计用来传输和存 ...

  5. python学习笔记(26)-request模块

    python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...

  6. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  7. Python学习笔记(十四)

    Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...

  8. Python学习笔记,day5

    Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...

  9. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  10. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

随机推荐

  1. Cutoff frequency

    Cutoff frequency - Wikipedia https://en.wikipedia.org/wiki/Cutoff_frequency In physics and electrica ...

  2. IO流入门-第十二章-ObjectInputStream_ObjectOutputStream

    DataInputStream和DataOutputStream基本用法和方法示例,序列化和反序列化 import java.io.Serializable; //该接口是一个“可序列化”的 ,没有任 ...

  3. Java 语言基础(一)

    大多数编程语言都包括以下基本内容: 关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 学习语言最重要的两点: 该语言基础的表现形式是什么 这些东西什么时候使用 关键字 在程序语言中有特殊含义 ...

  4. String trim 坑 对于ascii码为160的去不掉

    大家在使用string   的trim去除空格的时候,要注意一个坑呀,对于ascii码为160的去不掉 import java.util.Arrays; /** * Created by bjchen ...

  5. Python模块学习之bs4

    1.安装bs4 我用的ubuntu14.4,直接用apt-get命令就行 sudo apt-get install Python-bs4 2.安装解析器 Beautiful Soup支持Python标 ...

  6. django--之登录表单提交

    前端代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  7. java中jdk安装配置信息

    由于被人比较懒,有些做过的事情总是好忘,这个也不例外,索性就做个随笔. JAVA_HOMEC:\Program Files (x86)\Java\jdk1.7.0_03CLASSPATH.;%JAVA ...

  8. openPOWERLINK代码在vs2008下编译

    以openPOWERLINK_V1.08为例: 1.在主目录下新建Build目录 2.使用cmake-gui对代码进行配置 3.配置完成后生成工程文件xxx.sln 4.使用vs2008打开上述文件, ...

  9. Centos学习笔记1-基本部分

    1:查看系统的使用状态: 谁在线:who 网络连接状态:netstat  –a 后台执行程序:ps –aux 2:关机 关机:shutdown   或者 shutdown –h now 重启:rebo ...

  10. linux命令(6/8):crontab命令

    一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...