博主尝试了下更换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. 传说中的MATLAB1.0(1984年DOS界面182K、运行良好)附下载

    传说中的MATLAB1.0(1984年DOS界面182K.运行良好)附下载 你见过 MATLAB 最早的版本吗?下载一份 MATLAB 1.0,(只有182K, 只有20来个函数) 体会一下吧.MAT ...

  2. 删除Windows服务

    或者开始→运行 ,输入“regedit”,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下找到需要删除的服务名,直接删除即可.

  3. Mindjet MindManager 出现Runtime Error解决方案

    Mindjet MindManager文件打开报错怎么解决?文件打开后提示Runtime Error!Program:C:\Program Files\MindManager 9\Mindmanage ...

  4. 字符串 (string)与字节数组(byte[])之间的转换

    string str = "abc" //字符串转成编码为GB2312的byte[] byte[] pData =System.Text.Encoding.GetEncoding( ...

  5. django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)

    在python的开发中,遇到了这个错误: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TA ...

  6. jquery补充

  7. 使用.gitignore忽略文件

    单个项目配置 在.git文件夹同目录下打开git bash,执行命令: touch .gitignore 生成“.gitignore”文件. 在”.gitignore” 文件里输入你要忽略的文件夹及其 ...

  8. corethink功能模块探索开发(十四)后台编辑按钮

    效果图: 1.添加下图55&58行代码 2.实现edit方法 位于Equip/Admin/DeviceRepaireAdmin.class.php中 public function edit( ...

  9. 吴超老师课程--HBASE的查询手机项目

    查询1.按RowKey查询2.按手机号码查询3.按手机号码的区域查询 //查询手机13450456688的所有上网记录 public static void scan(String tableName ...

  10. mysql增量恢复的一个实例操作

    通过防火墙禁止web等应用向主库写数据或者锁表,让主库暂时停止更新,然后进行恢复 模拟整个场景 1.登录数据库 [root@promote 3306]# mysql -uroot -S /data/3 ...