内容简介:1.项目结构是这样的。2.通用函数代码
| 编辑推荐: |
| 本文来自于csdn,本文介绍了在微服务平台API测试过项目结构和代码过程等相关内容,希望对您的学习能有所帮助。 |
1.项目结构是这样的。
2.通用函数代码
import json,pymysql,collections
def read_json(path):
with open(path,'r',encoding = 'utf-8') as load_f:
load_dict = json.load(load_f)
return load_dict
def read_sql():
db = pymysql.connect(db='chameleon_user', host='172.16.78.71', port=3306, user='root', passwd='1qazxsw2',charset='utf8')
cursor = db.cursor()
sql = 'select * from `%s`' % ('role')
cursor.execute(sql)
rows = cursor.fetchall()
objects_list = []
for row in rows:
d = collections.OrderedDict()
d['cardnum'] = row[0]
d['bankname'] = row[1]
d['phonenumber'] = row[2]
d['rest'] = row[3]
d['id_main'] = row[4]
objects_list.append(d)
j = json.dumps(objects_list)
return j
if __name__ == "__main__":
json_from_sql = read_sql()
print(json_from_sql)
3. 登陆代码
import requests
import json
class login():
headers = {'Content-Type': 'application/json;charset=utf-8',
'token': 'planceholder',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
'userId': 'planceholder'
}
def __init__(self):
self.login_url = 'http://172.16.78.72:8301/v1/chameleon-user/user/login'
self.form_data = {'account':'admin',
'password':'zs123YL!'}
def get_login_token(self):
try:
r = requests.post(self.login_url,headers=self.headers,data = json.dumps(self.form_data))
login_return_dicts = r.json()
self.headers['token'] = login_return_dicts['token']
self.headers['userId']= str(login_return_dicts['data']['userId'])
#print(login_return_dicts)
except:
print('登陆平台失败!获取Token失败')
return
if __name__ == '__main__':
l = login()
l.get_login_token()
print(login.headers['token'])
print(login.headers['userId'])
4.模块运行
# coding=utf-8
import requests,sys
import unittest
import json
from common.read_file import read_json as readjson
from common.login_platform import login as login
login = login()
login.get_login_token()
class RunInstance(unittest.TestCase):
def setUp(self):
self.headers = login.headers
self.instance_data = readjson(r'C:\Users\wenhuifu\ PycharmProjects\xu_api\Data\cloudmanager \RunInstance.json')
self.url = 'http://172.16.78.73:3011/api /chameleon-cvg/instance'
#@unittest.skip('不测试!')
def test_run_instance(self):
try:
r = requests.post(self.url,headers = self.headers,json = self.instance_data)
print(r.json())
except:
#print(err)
print('创建机器失败!')
assert r.status_code == 200
def tearDown(self):
pass
if __name__ == '__main__':
create = RunInstance()
create.test_run_instance()
5.生成测试报告
from HTMLTestRunner_PY3 import HTMLTestRunner
from email.mime.text import MIMEText
from email.header import Header
import smtplib
import unittest
import time
import os
#发送邮件
def send_mail(file_new):
f = open(file_new,'rb')
mail_body = f.read()
f.close()
msg = MIMEText(mail_body,'html','utf-8')
msg['Subject'] = Header("自动化测试报告",'utf-8')
smtp = smtplib.SMTP()
smtp.connect('smtp.126.com')
smtp.login("username@126.com","123456")
smtp.sendmail("username@126.com", "receive@126.com",msg.as_string())
smtp.quit()
print('Email has been send out!')
def new_report(testreport):
lists = os.listdir(testreport)
lists.sort(key = lambda fn:os.path . getmtime (testreport + "\\" + fn))
file_new = os.path.join(testreport,lists[-1])
print(file_new)
return file_new
if __name__ == "__main__":
now = time.strftime("%Y-%m-%d %H_%M_%S")
filename = './Report/' + now + ' result.html'
fp = open(filename,'wb')
runner = HTMLTestRunner(stream=fp,title = 'XU API Test Result',description= '环境 Windows 10')
discover = unittest.defaultTestLoader.discover ('./Testcase',pattern= '*_case.py')
runner.run(discover)
fp.closed
6.测试报告还是很直观的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Istio服务网格与微服务平台集成实践
- 无服务平台性能比较
- “混合云”真的是新型IT服务平台?
- 全新升级 曙光先进计算服务平台正式上线
- 没有中间商赚差价的黑客服务平台
- 业云服务平台正在成为黑客对用户下手的渠道
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Remote
Jason Fried、David Heinemeier Hansson / Crown Business / 2013-10-29 / CAD 26.95
The “work from home” phenomenon is thoroughly explored in this illuminating new book from bestselling 37signals founders Fried and Hansson, who point to the surging trend of employees working from hom......一起来看看 《Remote》 这本书的介绍吧!