Commit 8af5c5e2 by zhangchunyao

code update 201907231601

parent ff773f0d
......@@ -6,10 +6,10 @@ import json,ddt
http = Http()
reader = Reader()
writer = Writer()
#reader.open_excle('D:/dminterfacetest/repot/testcase.xls')
#reader.open_excle('D:/workSpace/Python_workspace/testcase.xls')
reader.open_excle('/opt/apitest/apiAutoByJenkins/repot/testcase.xls')
sheetname = reader.get_sheets()
#writer.copy_open('D:/dminterfacetest/repot/testcase.xls', 'D:/dminterfacetest/repot/testcase1.xls')
#writer.copy_open('D:/workSpace/Python_workspace/testcase.xls', 'D:/workSpace/Python_workspace/testcase1.xls')
writer.copy_open('/opt/apitest/apiAutoByJenkins/repot/testcase.xls', '/opt/apitest/apiAutoByJenkins/repot/testcase1.xls')
sheetname1 = writer.get_sheets()
writer.set_sheet(sheetname1[0])
......
......@@ -21,6 +21,11 @@ class Run(unittest.TestCase):
@ddt.data(*data)
def test_run(self,data):
result = inter.dosheet(br, bw, data)
if result[1]:
if isinstance(result[1][0], int):
self.assertEqual(result[1][0], int(result[1][1]))
else:
self.assertEqual(result[1][0], result[1][1])
print(result)
def tearDown(self):
inter.xlsx_save(bw, APIPATH)
......
......@@ -104,6 +104,20 @@ class Reader:
row1[i] = str(strs)
i = i + 1
return row1
def api_result(self,path):
self.open_excle(path)
sheetname = self.get_sheets()
api = []
for sheet in sheetname:
# 设置当前读取的sheet页面
self.set_sheet(sheet)
for i in range(self.rows):
line = self.readline()
if line[10] == 'fail':
api.append(line[4])
return api
class Writer:
'''
by kongwen 2019/7/8 用来复制写入excel
......
......@@ -278,6 +278,11 @@ class InterFace():
bwt_sheet = bwt.get_sheet(0)
object = slef.xlsx_getRow(brd_sheet, i)
result = slef.xlsx_request(object)
arr = []
if result != 0:
code = jsonpath.jsonpath(result, object["code"])
arr.append(code[0])
arr.append(object["expected_code"])
if result == 0:
print("此行是接口说明,跳过不执行")
elif type(object["expected_code"]) == type(1.0):
......@@ -306,4 +311,4 @@ class InterFace():
inRow = i
inCol = 11
slef.writeResultDate(bwt_sheet, inRow, inCol, result)
return result
return result, arr
# coding: UTF-8
'''
pip install DingtalkChatbot
'''
# 2019/7/22 created by dadu
from dingtalkchatbot.chatbot import DingtalkChatbot
import time
from common.Excel import Reader
qaTeamWebhook = 'https://oapi.dingtalk.com/robot/send?access_token=2656a52b44f1e2d9ebbf5e57560b5a7c2619dc07cec35c62d19b8b252e24a064'
qaTeamDing = DingtalkChatbot(qaTeamWebhook)
runTime = time.strftime('%Y-%m-%d %H:%M:%S')
def resultText(reporturl):
#path = 'D:/workSpace/Python_workspace/apitestunit.xls'
path = '/opt/apitest/apiAutoByJenkins/repot/apitest.xls'
readExp = Reader()
arrExpSingle = readExp.api_result(path)
expMsg = '\n'.join(arrExpSingle)
qaTeamDing.send_text(msg = "接口自动化执行异常结果\n执行时间:"+ runTime+ "\n执行异常接口列表:\n"+expMsg+"\n详细结果地址:"+reporturl)
def msgSend(passrate,reporturl):
if passrate!=100:
resultText(reporturl)
else :
pass
\ No newline at end of file
......@@ -2,18 +2,29 @@ import unittest
import HTMLTestReportCN
import time
from common.Mail import sendResultMail
from HTMLTestReportCN import TestResult
from common.resultToDing import msgSend
#case_dir = 'D:/workSpace/Python_workspace/myPython/.idea/interfaceTest_ddt/case'
#report_dir = 'D:/workSpace/Python_workspace/myPython/.idea/interfaceTest_ddt/repot'
case_dir = '/opt/apitest/apiAutoByJenkins/case'
report_dir = '/opt/apitest/apiAutoByJenkins/repot'
discover = unittest.defaultTestLoader.discover(case_dir,pattern='test*.py')
now = time.strftime('%Y-%m-%d %H_%M_%S')
report_name = report_dir+'/'+now+' test_report.html'
with open(report_name, 'wb') as f:
#discover = unittest.defaultTestLoader.discover(case_dir,pattern='testcase.py')
now = time.strftime('%Y%m%d%H%M%S')
fileName = '/'+now+'test_report.html'
reportFileName = report_dir+fileName
report_url = "https://four.gicdev.com/apitest"
reportUrl = report_url+fileName
with open(reportFileName, 'wb') as f:
runner = HTMLTestReportCN.HTMLTestRunner(stream=f, title='接口自动化测试报告', description='接口测试用例执行情况', tester='jenkins')
runner.run(discover)
str=runner.getPassRate()
passRateValue = str.split('%',1)[0]
msgSend(passRateValue,reportUrl)
smtpSer ="smtp.exmail.qq.com"
# 测试服务器群发测试组成员
sendUser ="apitest@demogic.com"
......@@ -21,7 +32,7 @@ sendPwd ="Api@201906"
recvUser ="test@demogic.com"
#recvUser = "zhangchunyao@demogic.com"
sendResultMail(smtpSer,sendUser,sendPwd,recvUser,report_name)
sendResultMail(smtpSer,sendUser,sendPwd,recvUser,reportFileName)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment