自動化測試常用腳本-截圖


from BeautifulReport import BeautifulReport as BR
from selenium import webdriver

'''截圖'''
def screenshot(self, img_name):
    """
    :param img_name: 圖片的名字
    :return: 以列表形式返回圖片的絕對路徑和名字
    """
    # HTML_IMG_TEMPLATE 是保存圖片的html模板,設置了圖片的大小。其實就是將圖片嵌入到html中
    HTML_IMG_TEMPLATE = """
            <a href="data:image/png;base64, {}">
            <img src="data:image/png;base64, {}" width="800px" height="500px"/>
            </a>
            <br></br>
        """
    img_path = self.save_img(img_name)  # 調用保存截圖的方法
    data = BR.img2base(img_path[0], img_path[1] + '.png')  # img_path 是列表,保存了圖片的路徑和名稱。img2base() 方法將圖片轉換為base64格式
    print(HTML_IMG_TEMPLATE.format(data, data))



'''保存截圖'''
def save_img(self, img_name):
    """
    傳入一個圖片名稱:img_name, 並存儲到默認的文件路徑下
    :param img_name: 圖片的名字
    :return: 以列表形式返回圖片的絕對路徑和名字
    """
    path = os.path.dirname(os.path.dirname(__file__)) + "\\img"  # 獲取img目錄的路徑,項目提前建好 img 目錄 
    self.driver.get_screenshot_as_file('{}\{}.png'.format(os.path.abspath(path), img_name))  
    return [path, img_name]

"""
 以上兩個函數定義完后,在實際操作中,若要在當系統報錯時進行截圖並嵌在html報告中,在對應的測試用例中加上截圖裝飾器即可
進入add_test_img()源碼中,就有解釋

def add_test_img(*pargs):
    """
        接受若干個圖片元素, 並展示在測試報告中
    :param pargs:
    :return:
    """
"""

@BR.add_test_img()
def test_demo(self):
    pass



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM