導航:首頁 > 編程語言 > python自動化輸出分析報告

python自動化輸出分析報告

發布時間:2024-01-28 23:23:47

⑴ 怎麼用python做自動化測試

這里以web自動化測試為例,簡單介紹一下如何使用python進行web自動化測試,主要用到selenium這個框架,實驗環境win10+python3.6,主要內容如下:

1.首先,安裝selenium框架,這個直接在cmd窗口輸入命令「pipinstallselenium」就行,如下,安裝非常快:

2.安裝完成後,還需要安裝瀏覽器驅動程序,不然直接運行程序會報錯,以谷歌瀏覽器chrome為例,需要下載chromedriver驅動程序,如下,這里chromedriver的版本必須要與自己平台瀏覽器的版本匹配:

下載完成後,是一個zip壓縮包,裡面就一個chromedriver.exe文件,這里需要將這個文件復制到python安裝目錄下,如下:

3.最後,我們就可以進行selenium框架測試了,測試代碼如下,非常簡單,創建一個webdriver,如果能正常打開對應網頁,則說明selenium安裝成功:

之後就可以直接定位相關元攜余素,進行web自動化測試了,主要方法如下(共有8種),辯洞滾分別是id、name、classname、tagname、linktext、partiallinktext、xpath和cssselector,這里可以自行測試,相關資料非常豐富:

至此,我們就完成了pythonweb自動化測試框架selenium的安裝和簡單使用。總的來說,整個過程非常簡單,只要你有一定的python基礎,熟悉一下上面的安裝過程,很快就能搭建好本地selenium自動化測試框架,網上也顫芹有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

⑵ Python操作Excel實現自動化報表

Python操作Excel實現自動化報表

安裝

python -m pip install xlrd xlwt xlutils。

基本用法

1.從指定文件路徑讀取excel表格,進行一定操作,然後保存到另一個excel文件:result.xlsx

import xlwt
import xlrd
from xlutils. import 
import pandas as pd
from pandas import DataFrame,Series
import os
os.chdir('./')
# 從指定文件路徑讀取excel表格
df = pd.read_excel('D:/mypaper/data/data.xlsx')
# 查看df內容


# 根據age算出出生年份,增加一列
import datetime
import os
year = datetime.datetime.now().year#獲取當前系統時間對應的年份
df['birth'] = year-df['age']
df.to_excel('result.xlsx')#保存到當前工作目錄,可以用os.getcwd()查看
#查看下此時df的內容,可以看到已經生成了birth這一列。


2.單元格操作

# 定義方法:讀取指定目錄下Excel文件某個sheet單元格的值
def excel_read(file_path,table,x,y):
     data = xlrd.open_workbook(file_path)
     table = data.sheet_by_name(table)
     return table.cell(y,x).value

# 定義方法:單元格值及樣式
write_obj_list = []
def concat_obj(cols,rows,value):
    write_obj_list.append({'cols':cols,'rows':rows,'value':value,
'style':xlwt.easyxf('font: name 宋體,height 280;alignment: horiz centre')})

# 定義方法:合並單元格
def merge_unit(srows,erows,scols,ecols,value):
    write_obj_list.append({'id':'merge','srows':srows,'erows':erows,'scols':scols,
'ecols':ecols,'value':value,'style':xlwt.easyxf('font: name 宋體,height 280;alignment: horiz centre')})

# 定義方法:更新excel
excel_update(file_path,write_obj_list,new_path):
    old_excel = xlrd.open_workbook(file_path, formatting_info=True)
    #管道作用
    new_excel = (old_excel)
    '''
    通過get_sheet()獲取的sheet有write()方法
    '''
    sheet1 = new_excel.get_sheet(0)
    '''
    1代表是修改第幾個工作表裡,從0開始算是第一個。此處修改第一個工作表
    '''
    for item in write_obj_list:
        if 'id' not in item.keys():
            if 'style' in item.keys():
                sheet1.write(item['rows'], item['cols'], item['value'],item['style'])
            else:
                sheet1.write(item['rows'], item['cols'], item['value'])
        else:
            if 'style' in item.keys():
                sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'],item['style'])
            else:
                sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'])
    '''
   如果報錯 dict_items has no attributes sort
    把syle源碼中--alist.sort() 修改為----> sorted(alist) 
    一共修改2次
    '''
    new_excel.save(file_path)

#參數詳解
# srows:合並的起始行數
# erows:合並的結束行數
# scols:合並的起始列數
# ecols:合並的結束列數 
# value:合並單元格後的填充值
# style:合並後填充風格:
#     font: name 宋體
#     height 280;
#     alignment: horiz centre
#     ... 與excel操作基本保持一致

(注意:該方法僅僅是將需要直行的動作保存到一個list中,真正的動作還未執行,執行動作是發生在excel_update方法中)

最終調用excel_update方法,傳入每個單元格需要進行的操作和填充值的write_obj_list以及文件保存路徑file_path,就可以在當前工作目錄下生成想要的Excel結果文件。


注意:
1.write_obj_list支持用戶自定義
2.write_obj_list也可以是根據excel_read方法讀取現有待修改的excel文件(可以維持原有表格的格式)而生成

End

⑶ python+selenium+behave自動化測試如何生成html測試報告

使用python的單元測試框架,可以建立測試類,構造測試集。 測試類中包含了common的測試方法定義,包括測試開始前建立測試環境的setUp方法和測試完成後清理還原環境的tearDown方法,最好按照約定規則(以test開頭)來命名所有的測試方法。

閱讀全文

與python自動化輸出分析報告相關的資料

熱點內容
刷臉支付oem需要源碼嗎 瀏覽:166
如何在線壓縮動態圖片 瀏覽:113
vb字母表加密 瀏覽:613
紅帽磁碟命令 瀏覽:868
cmd命令大全ip地址 瀏覽:14
伺服器被攻擊什麼意思 瀏覽:73
看去哪個app 瀏覽:163
埃微手環用什麼app 瀏覽:567
培訓需要編程基礎嗎 瀏覽:338
程序員寫論文需要什麼條件 瀏覽:600
三菱電機壓縮機待遇 瀏覽:889
android電源關機 瀏覽:521
重新定義程序員教程 瀏覽:541
程序員小白是什麼水平 瀏覽:810
ug編程刀具移動高度 瀏覽:928
程序員思想和人交互 瀏覽:567
程序員編寫的軟體 瀏覽:290
透傳命令 瀏覽:381
raptor冒泡排序編程 瀏覽:707
怎麼給安卓刷其他系統 瀏覽:553