python async,pythonweb自動化項目源碼下載_python+requests接口自動化完整項目設計源碼

 2023-10-08 阅读 33 评论 0

摘要:一、項目結構1.新建一個工程(一定要創建工程),工程名稱自己定義,如:yoyo_jiekou2.在工程的跟目錄新建一個腳本:run_main.py,用來執行全部用例3.在工程下創建以下幾個pakage包:python async。--case:這個包放test開頭的測試用例,也可以放一

一、項目結構

1.新建一個工程(一定要創建工程),工程名稱自己定義,如:yoyo_jiekou

2.在工程的跟目錄新建一個腳本:run_main.py,用來執行全部用例

3.在工程下創建以下幾個pakage包:

python async。--case:這個包放test開頭的測試用例,也可以放一些封裝接口的方法,如:loginblog(如果封裝的接口比較多,也可以單獨放一個包)

--common:這個包放一些公共的方法,如:讀取excel文件方法,讀取mysql、oracle,logger.py這個是封裝日志的輸入

--config:cfg.ini這里是配置文件,如郵箱的一些參數:收件人,發件人,密碼等,readConfig.py用于讀取配置文件

--logs:這里存放日志信息

--report:這里存放測試報告

python json?二、run_main

第一步:用discover方法加載所有的測試用例

1.cur_path這個參數是讀取當前這個腳本的真實路徑,也就是run_main.py的真實路徑

2.caseName="case"這個case是存放測試用例的文件夾,如果沒有的話,自動創建。如果想運行其它文件夾的用例,就改下caseName這個參數值

3.rule="test*.py"這個是匹配用例腳本名稱的規則,默認匹配test開頭的所有用例

python bs4,第二步:生成HTML報告

1.把上一步加載到用例的參數傳入這個函數,測試報告的文件名稱默認report文件夾:reportName="report

2.如果沒有這個report文件夾也沒關系,可以自動創建的

第三步:獲取最新的測試報告

1.如果第二步生成的測試報告加了時間戳,想找到最新的文件就用第三步

python numpy。2.如果第二步不加時間戳,只是生成result.html,那這一步其實沒卵用,可以忽略

(個人覺得報告用一個名稱result.html就行,新的自動覆蓋舊的)

第四步:發送測試報告到郵箱

1.像QQ郵箱這種ssl加密的就走SMTP_SSL,用授權碼登錄

2.其它郵箱就正常賬號密碼登錄,走SMTP

python編程、最后執行代碼

1.這里郵箱的內容讀的配置文件

三、config配置

1.cfg.ini打開,這里寫配置文件內容

2.用readConfig.py讀取配置文件

python中eval,3.讀取的內容就是傳入第二步操作里面需要調用郵箱的配置信息

三、logger

1.logger.py這個文件放到common目錄下,封裝日志文件的讀取

2.日志保存到logs文件夾

3.封裝代碼

python中divmod。# coding:utf-8

import logging, time

import os

# log_path是存放日志的路徑

cur_path = os.path.dirname(os.path.realpath(__file__))

qpython、log_path = os.path.join(os.path.dirname(cur_path), 'logs')

# 如果不存在這個logs文件夾,就自動創建一個

if not os.path.exists(log_path):os.mkdir(log_path)

class Log():

def __init__(self):

python3。# 文件的命名

self.logname = os.path.join(log_path, '%s.log'%time.strftime('%Y_%m_%d'))

self.logger = logging.getLogger()

self.logger.setLevel(logging.DEBUG)

# 日志輸出格式

python源碼分享網站,self.formatter = logging.Formatter('[%(asctime)s] - %(filename)s] - %(levelname)s: %(message)s')

def __console(self, level, message):

# 創建一個FileHandler,用于寫到本地

fh = logging.FileHandler(self.logname, 'a')? # 追加模式? 這個是python2的

# fh = logging.FileHandler(self.logname, 'a', encoding='utf-8')? # 這個是python3的

python搭建web網站,fh.setLevel(logging.DEBUG)

fh.setFormatter(self.formatter)

self.logger.addHandler(fh)

# 創建一個StreamHandler,用于輸出到控制臺

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)

ch.setFormatter(self.formatter)

self.logger.addHandler(ch)

if level == 'info':

self.logger.info(message)

elif level == 'debug':

self.logger.debug(message)

elif level == 'warning':

self.logger.warning(message)

elif level == 'error':

self.logger.error(message)

# 這兩行代碼是為了避免日志輸出重復問題

self.logger.removeHandler(ch)

self.logger.removeHandler(fh)

# 關閉打開的文件

fh.close()

def debug(self, message):

self.__console('debug', message)

def info(self, message):

self.__console('info', message)

def warning(self, message):

self.__console('warning', message)

def error(self, message):

self.__console('error', message)

if __name__ == "__main__":

log = Log()

log.info("---測試開始----")

log.info("操作步驟1,2,3")

log.warning("----測試結束----")

四、case放用例

1.常用的接口,需要檢查被調用的單獨封裝處理,如登錄等

2.test開頭的用例

五、logs日志查看

1.運行完后日志都會收集到logs文件夾以日期命名

六、生成測試報告

1.這里調用的是HTMLTestRunner生成html的測試報告

七、發送報告到郵箱

1.運行run_main.py就會自動生成報告,然后發送到郵箱了

(這里QQ郵箱的展示是有問題的,一般用企業郵箱的話,是可以正常展示的)

(源代碼可以通過以下鏈接購買,7.2章節可以獲取下載地址)

---------------------------------python接口自動化已出書-------------------------

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/128815.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息