python修改html的td_python3修改HTMLTestRunner,生成有截图的测试报告,并发送测试邮件(一)...
首先思路是醬紫的。想要在測試報告后面加一列截圖信息。主要的任務
獲得截圖
拿到截圖地址和名稱
在HTMLTestRunner生成的表格中多加一列
在表格中將截圖地址和名稱輸入進對應的測試用例里
最后將測試報告發送給指定的郵箱
個人認為這個難點在于第4條。
OK 一步一步來。先說獲取手機截圖、得到截圖地址和名稱
1.獲取截圖主要的是用subprocess或者os模塊調用cmd命令實現,比較簡單,具體代碼如下:
defscreenshot():
imageName= str(time.time()) + '.png' #用時間戳定義截圖名稱
imagepath = '//sdcard//' + imageName #手機-保存截圖地址
path = os.getcwd() + '\\screenshot' #本地-保存截圖地址
if not os.path.exists(path): #判斷地址是否有效,如果不存在就創建一個地址
os.mkdir( path)
os.system("adb shell //system//bin//screencap -p" +imagepath)
os.system('adb pull' + imagepath +path)
screenshotUrl= path + '\\' + imageName #獲取具體圖片的地址
#print('lustrat' + screenshotUrl + 'luend')
以上就得到了截圖地址:screenshotUrl和名稱:imageName
2.現在開始說下修改HTMLTestRunner在報告表格后增加一列。(本人對HTML和css不甚了解,表格仍然不甚美觀,希望大神可以幫忙優化下表格)
我的思路是打開原本的測試報告,按F12查看元素,找到對應的有標志的信息,如下圖所示:
可以看到一個標志性信息:id=header_row。然后打開HTMLTestRunner搜索header_row這個關鍵字,在對應的View下面增加一列picture。(如果HTML語音功底很好的話,直接改就行,不用我這么麻煩了)
以此類推,具體的修改如下:
REPORT_TMPL = """
Show
Summary
Failed
All
| Test Group/Test case | Count | Pass | Fail | Error | View | Picture |
%(test_list)s
Total%(count)s%(Pass)s%(fail)s%(error)s   """ #variables: (test_list, count, Pass, fail, error)REPORT_CLASS_TMPL= r"""
%(desc)s%(count)s%(Pass)s%(fail)s%(error)s   """ #variables: (style, desc, count, Pass, fail, error, cid)目前為止新增一列的表格已經搭好了。
難點來了。。。
內容有點多,放下一篇吧。。。
總結
以上是生活随笔為你收集整理的python修改html的td_python3修改HTMLTestRunner,生成有截图的测试报告,并发送测试邮件(一)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: string 转 int_面试官:Str
- 下一篇: python爬虫的技能_python-爬