python学习笔记(pict+requests+xml)
博主尝试了下更换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)的更多相关文章
- python学习笔记(requests)
昨天用jmeter尝试了下接口测试 在部分接口中要上传文件这里遇到了问题.今天改用python的requests框架试下 先简单的写了个登录的接口.本人初学者,第一次写接口脚本 #!/usr/bin/ ...
- python学习笔记(生成xml)
想着给框架加些功能 首先想到的是生成测试报告 这里就涉及到了生成什么格式的文件 我这边就准备生成 xml 格式的文件 自己先学习了整理了下 代码如下: #!/usr/bin/env python # ...
- Python学习笔记之——requests库
requests库一个优雅而简单的用于Python的HTTP库,可以极大的简化我们发送http请求及获取响应的代码. requests是python的第三方库,所以使用之前需要先安装. 1.安装之后就 ...
- 吴裕雄--天生自然python学习笔记:Python3 XML 解析
什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XML 被设计用来传输和存 ...
- python学习笔记(26)-request模块
python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Python学习笔记(十四)
Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...
- Python学习笔记,day5
Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
随机推荐
- [PowerShell]–Checking the version of Office installed
– Create and initialize the object $objExcel = New-Object -ComObject Excel.Application – Query the v ...
- 让WebApi支持Namespace
环境:VS2012 .net 4.0 参考: http://aspnet.codeplex.com/SourceControl/changeset/view/dd207952fa86#Samples/ ...
- 使用NSKeyedArichiver进行归档、NSKeyedUnarchiver进行解档
一.使用archiveRootObject进行简单的归档 使用NSKeyedArichiver进行归档.NSKeyedUnarchiver进行接档,这种方式会在写入.读出数据之前对数据进行序列化.反序 ...
- 正则表达式 \b
引用网上一段话: \b 是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处.虽然通常英文的单词是由空格,标点符号或者换行来 ...
- pandas 修改列名
原始文件 下面是Excel打开以及pd.read_csv() 打开: 里面只是干巴巴的数据,没有列名,so,需要给其设置列名. Method1 不让第一行数据默认当作列名(默认第一行数据是列名了). ...
- 我的Android进阶之旅------>Android编译错误java.util.zip.ZipException: duplicate entry的解决方法
今天在Android Studio中把另外一个项目引入当前项目,编译的时候出现了java.util.zip.ZipException: duplicate entry错误. 错误如下所示: FAILU ...
- jquery补充
- Python3+Selenium3自动化测试-(二)
python3 元素定位和操作方法总结 # coding=utf-8 ''' #8种元素定位方法 find_element_by_id() find_element_by_name() find_el ...
- MYSQL SET ENUM字段类型
show create table stu;//显示建表语句 create table t1(t enum('a','b','c')); insert into t1 values('a'); cre ...
- Codeforces Round #304 (Div.2)
A. Soldier and Bananas 题意:有个士兵要买w个香蕉,香蕉起步价为k元/个,每多买一个则贵k元.问初始拥有n元的士兵需要借多少钱? 思路:简单题 #include<iostr ...