国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

這篇具有很好參考價值的文章主要介紹了騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

整個框架的開發(fā)及調(diào)通是在3月27日晚上22點完成,如下:

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

這篇文章真的是拖了太久了,久到我居然把代碼部分完成后,徹底給忘了,這記性,真的是年紀大了!

框架的設(shè)計開發(fā)

1、框架搭建設(shè)計要素

  • 日志&測試步驟
  • 報告&失敗截圖
  • 配置文件&數(shù)據(jù)源設(shè)計
  • 公共函數(shù)&API封裝
  • 測試數(shù)據(jù)&參數(shù)化、解耦
  • 測試套件&測試用例設(shè)計、組裝

2、工程結(jié)構(gòu)

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

3、日志

日志可以很好輔助我們定位問題,示例代碼如下:

class LogUtils:

    def __init__(self, log_path=log_path):
        """
        通過python自帶的logging模塊進行封裝
        """
        self.logfile_path = log_path
        # 創(chuàng)建日志對象logger
        self.logger = logging.getLogger(__name__)
        # 設(shè)置日志級別
        self.logger.setLevel(level=logging.INFO)
        # 設(shè)置日志的格式
        formatter = logging.Formatter('%(asctime)s - %(filename)s [line:%(lineno)d] - %(levelname)s: %(message)s')
        """在log文件中輸出日志"""
        # 日志文件名稱顯示一天的日志
        self.log_name_path = os.path.join(self.logfile_path, "log_%s" % time.strftime('%Y_%m_%d')+".log")
        # 創(chuàng)建文件處理程序并實現(xiàn)追加
        self.file_log = logging.FileHandler(self.log_name_path, 'a', encoding='utf-8')
        # 設(shè)置日志文件里的格式
        self.file_log.setFormatter(formatter)
        # 設(shè)置日志文件里的級別
        self.file_log.setLevel(logging.INFO)
        # 把日志信息輸出到文件中
        self.logger.addHandler(self.file_log)
        # 關(guān)閉文件
        self.file_log.close()

        """在控制臺輸出日志"""
        # 日志在控制臺
        self.console = logging.StreamHandler()
        # 設(shè)置日志級別
        self.console.setLevel(logging.INFO)
        # 設(shè)置日志格式
        self.console.setFormatter(formatter)
        # 把日志信息輸出到控制臺
        self.logger.addHandler(self.console)
        # 關(guān)閉控制臺日志
        self.console.close()

    def get_log(self):
        return self.logger

4、數(shù)據(jù)源

這里我用的是Excel,示例如下:

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

示例代碼如下:

class ExcelUtils(object):
    @staticmethod
    def get_element_Data():
        """
        通過pandas讀取excel中的數(shù)據(jù),返回字典映射
        """
        data_list = pd.read_excel(excel_path).values.tolist()  # reading file
        dict_elements = {}
        for data in data_list:
            dict_elements[data[0]] = data[1] + "," + data[2]
        return dict_elements

可能評論區(qū)會有人說用yml、json、csv做數(shù)據(jù)源會更好,我不認同!

為什么用Excel做數(shù)據(jù)源?

  • 所有的測試框架和測試工具,都應(yīng)該以使用者角度考慮問題,以易用性和上手難度為先。
  • 所有做測試工具及平臺、測試框架,都是為他人服務(wù),所以越簡單,越好操作,更好,后期可以再優(yōu)化、
  • 上面做數(shù)據(jù)源,可能自我感覺技術(shù)上顯得高大上,很牛逼,但是抱歉,使用者,根本不知道yml、json是啥你怎么辦,可以學(xué),沒錯(互聯(lián)網(wǎng)時代時間成本太昂貴了),不是不可能遇到,是因為最不可控的是使用者人群,不是嗎?

框架的一開始設(shè)計很重要,所以整體的設(shè)計要清晰明了。

感動自己的實現(xiàn)不重要,而是被團隊需要的實現(xiàn),才會顯得自己重要!

5、基礎(chǔ)層

這里主要用于處理,元素對象和原生API的封裝,部分代碼示例如下圖:

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

6、測試用例

action層寫測試用例,示例代碼如下:

class PageAction(BasePage):

    def order(self, taste: str):
        """
        根據(jù)口味選餐
        :param taste:
        :return:
        """
        # 將第一個五花肉石鍋拌飯加入購物車
        self.element_click("將第一個五花肉石鍋拌飯加入購物車")
        # 選擇口味
        self.element_click(taste)
        # 確定選擇
        self.element_click("確定選擇")
        # 共選擇份數(shù)
        total = self.get_elementText("共選擇份數(shù)")
        return total

調(diào)用action層,執(zhí)行測試用例,示例代碼如下:

# -*- coding: utf-8 -*-
"""
# @Time    : 2023/03/20 20:55
# @Author  : longrong.lang
# @FileName: order_test.py
# @Software: PyCharm
# @Blog    :https://www.cnblogs.com/longronglang/
# @Motto:ABC(Always Be Coding)
"""
import minium

from action.page_action import PageAction


@minium.ddt_class
class OrderTest(minium.MiniTest):
    """
    測試登錄功能
    """
    pageAction = None

    @minium.ddt_case(
        {"taste": "蒜香味", "count": " 1 "},
        {"taste": "姜蔥味", "count": " 1 "},
        {"taste": "鹽焗味", "count": "3"}
    )
    def test_Order(self, value):
        try:
            self.pageAction = PageAction(self.mini, self.page)
            total = self.pageAction.order(value["taste"])
            self.assertEqual(total, value["count"])
        except AssertionError as err:
            self.pageAction.screen_shot()
            self.fail(err)



7、測試報告

覺得minium的測試報告顏值還可以,還可以看到歷史的,感覺還不錯,如下:

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

失敗有截圖還有日志:

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)

B站看運行效果:
https://www.bilibili.com/video/BV1Dk4y147Sn

寫在最后

到此,關(guān)于minium系列暫時告一段路了,感謝大家對我的支持,覺得我的文章對您有幫助,請幫忙轉(zhuǎn)發(fā)!

我是六哥,后面還會陸續(xù)更新其他教程文章,還請繼續(xù)關(guān)注我!文章來源地址http://www.zghlxwxcb.cn/news/detail-402464.html

到了這里,關(guān)于騰訊出品小程序自動化測試框架【Minium】系列(七)測試框架的設(shè)計和開發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 微信小程序自動化框架的搭建python+minium

    微信小程序自動化框架的搭建python+minium

    公司要求做小程序的自動化,網(wǎng)上找各種資料,最后確定使用騰訊自研的框架minium,雖然版本已經(jīng)不繼續(xù)維護更新了,但是不影響我們使用來做自動化開發(fā)。 minium提供一個基于unittest封裝好的測試框架,MiniTest是minium中繼承自unittest.TestCase的測試基類, 你可以在testcase中使用框

    2024年02月11日
    瀏覽(47)
  • 微信小程序自動化測試——自定義測試(Minium)

    微信小程序自動化測試——自定義測試(Minium)

    前文 微信小程序自動化測試——錄制回放 提到錄制回放 支持輸入,文本查找,斷言等自動化測試基礎(chǔ)操作,無需編寫代碼,用例生成效率高,但是部分操作不支持,對復(fù)雜業(yè)務(wù)場景有局限性。如果用戶希望適用復(fù)雜的業(yè)務(wù)場景,自主制定測試場景,可以嘗試 自定義測試(

    2024年02月11日
    瀏覽(26)
  • 微信小程序UI自動化測試實踐:Minium+PageObject

    微信小程序UI自動化測試實踐:Minium+PageObject

    小程序架構(gòu)上分為 渲染層 和 邏輯層 ,盡管各平臺的運行環(huán)境十分相似,但是還是有些許的區(qū)別(如下圖),比如說JavaScript 語法和?API?支持不一致,WXSS 渲染表現(xiàn)也有不同,所以不論是手工測試,還是UI自動化測試,都必須要在 iOS 和 Android 上分別檢查小程序的真實表現(xiàn)。

    2024年04月09日
    瀏覽(27)
  • 教你如何使用自定義測試(Minium)進行微信小程序自動化測試

    目錄 前言: 一、 編寫用例 基本操作 處理小程序API 處理小程序原生控件 數(shù)據(jù)驅(qū)動 二、 執(zhí)行用例 本地執(zhí)行 云測服務(wù)測試 三、 最佳實踐 四、總結(jié) 前言: 微信小程序自動化測試是保障小程序質(zhì)量的重要手段,Minium是一個可為微信小程序編寫自定義測試的自動化測試框架。它

    2024年02月09日
    瀏覽(33)
  • 小程序自動化之minium

    小程序自動化之minium

    本文采用微信開發(fā)者工具和minium進行編碼 官方文檔:小程序云測-MiniTest 1. ?python安裝minium第三方庫,執(zhí)行minium -v 驗證 ??? ?2. 下載微信開發(fā)者工具文檔版本 下載鏈接: 微信開發(fā)者工具下載地址與更新日志 | 微信開放文檔 ?3. 設(shè)置微信開發(fā)者工具 4. 找開發(fā)要源代碼 1. cases:? 測試

    2024年02月09日
    瀏覽(20)
  • 初識小程序自動化 & Jest測試框架

    初識小程序自動化 & Jest測試框架

    2024軟件測試面試刷題,這個小程序(永久刷題),靠它快速找到工作了?。ㄋ㈩}APP的天花板)-CSDN博客 文章瀏覽閱讀1.9k次,點贊85次,收藏11次。你知不知道有這么一個軟件測試面試的刷題小程序。里面包含了面試常問的軟件測試基礎(chǔ)題,web自動化測試、app自動化測試、接口

    2024年02月02日
    瀏覽(15)
  • 微信小程序的自動化測試框架

    微信小程序的自動化測試框架

    微信發(fā)布了小程序的自動化測試框架Minium,提供了多種運行驗證方式,其特點: 支持一套腳本,iOS Android 模擬器,三端運行 提供豐富的頁面跳轉(zhuǎn)方式,看不到也能去得到 可以獲取和設(shè)置小程序頁面數(shù)據(jù),讓測試不止點點點 可以直接觸發(fā)小程序元素綁定事件 支持往 AppSerive

    2024年02月04日
    瀏覽(25)
  • 微信小程序自動化測試實戰(zhàn)教程,框架源碼應(yīng)有盡有

    微信小程序自動化測試實戰(zhàn)教程,框架源碼應(yīng)有盡有

    目錄 1. 微信小程序自動化測試介紹 2. 搭建微信小程序自動化測試框架 步驟1:選擇測試工具 步驟2:搭建測試環(huán)境 步驟3:編寫測試腳本 步驟4:執(zhí)行測試 3. 實現(xiàn)微信小程序自動化測試的關(guān)鍵技術(shù) 技術(shù)1:微信小程序自動化測試工具 技術(shù)2:測試腳本的編寫 技術(shù)3:測試環(huán)境的

    2024年02月14日
    瀏覽(22)
  • 【自動化測試】幾種常見的自動化測試框架

    【自動化測試】幾種常見的自動化測試框架

    在軟件測試領(lǐng)域,自動化測試框架有很多,這里主要介紹幾種常用的自動化測試框架。 pytest 是 Python 的一種單元測試框架,與 Python 自帶的 unittest 測試框架類似,但是比 unittest 框架使用起來更簡潔,效率更高。主要有以下幾個特點: 簡單靈活,容易上手。 支持參數(shù)化。 能

    2024年02月07日
    瀏覽(22)
  • 自動化測試(三):接口自動化pytest測試框架

    自動化測試(三):接口自動化pytest測試框架

    API:Application Programming Interface 接口自動化按照自動化的工具可分為 基于 接口測試工具 的接口自動化 eg1:Postman+Newman+git/Svn+Jenkins(基于Javascript語言)接口自動化 Postman :創(chuàng)建和發(fā)送 API 請求,并對響應(yīng)進行斷言和驗證。 Newman : Postman 的命令行工具,它允許測試人員在沒有界

    2024年02月10日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包