1. 程式人生 > >python自動化測試unittest+selenium+HTMLTestRunner(二)

python自動化測試unittest+selenium+HTMLTestRunner(二)

為了使程式更規範,且方便後期維護,故把程式分為四個模組:case、suite、HTMLTestRunner、methods

case:用例模組;編寫測試模組的用例資料

suite:測試套件模組;載入需要測試的具體用例

HTMLTestRunner:測試報告模組;定義生成測試報告

methods:方法模組;編寫測試模組的用例方法

------------------------------------------------------------------------------------------------------

case模組:

one.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import unittest
import two

class MyTestCase(unittest.TestCase):

    # 初始化工作
    def setUp(self):
        pass

    # 退出清理工作
    def tearDown(self):
        pass

    # 具體的測試用例,一定要以test開頭
    def test_Case1(self):
        self.assertMultiLineEqual(two.baidu1(), u'百度一下,你就知道')

    def test_Case2(self):
        self.assertMultiLineEqual(two.baidu2(), u'京公網安備11000002000001號')

suite模組:

three.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
import one

def suite1():
    # 建立測試套件
    suite = unittest.TestSuite()
    # 為套件新增測試用例
    suite.addTest(one.MyTestCase("test_Case1"))
    return suite

def suite2():
    # 建立測試套件
    suite = unittest.TestSuite()
    # 為套件新增測試用例
    suite.addTest(one.MyTestCase("test_Case2"))
    return suite

def all_suite():
    suite = unittest.TestSuite((suite2(), suite1()))
    return suite


HTMLTestRunner模組:

four.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import HTMLTestRunner

def save_file():
    # 確定生成報告的路徑
    filePath = "pyResult.html"
    fp = file(filePath, 'wb')
    # 生成報告的Title,描述
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='Python TestReport', description='This  is Python  Report')
    return runner

methods模組:

two.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
from selenium import webdriver

br = webdriver.Chrome()
br.maximize_window()
br.get('http://www.baidu.com')

def baidu1():
    time.sleep(1)
    title = br.title
    return title

def baidu2():
    time.sleep(1)
    jg = br.find_element_by_id('jgwab').text
    return jg

run.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import four
import three
import unittest

if __name__ == '__main__':
    # 呼叫定義HTMLTestRunner的方法
    runner = four.save_file()
    # 執行suite所組裝的測試用例
    # runner = unittest.TextTestRunner()
    # 呼叫測試套件方法
    all_suite = three.all_suite()
    # 執行測試套件
    runner.run(all_suite)



相關推薦

python自動化測試unittest+selenium+HTMLTestRunner

為了使程式更規範,且方便後期維護,故把程式分為四個模組:case、suite、HTMLTestRunner、methods case:用例模組;編寫測試模組的用例資料 suite:測試套件模組;載入需

selenium + python自動化測試unittest框架學習webdriver對頁面其他控件操作

文件的 文件路徑 內容 option selenium script web 對話 對話框 1.對話框,下拉框 (1)對話框的有兩種,一種是iframe格式的,需要switch_to_iframe()進行定位,現在大部分的對話框是div格式的,這種格式的可以通過層級定位來定

selenium + python自動化測試unittest框架學習webdriver元素定位

倒數 節點 大於 文本框 webdriver 而且 單標簽 unit 遍歷 1.Webdriver原理 webdirver是一款web自動化操作工具,為瀏覽器提供統一的webdriver接口,由client也就是我們的測試腳本提交請求,remote server瀏覽器進行響

selenium + python自動化測試unittest框架學習selenium原理及應用

自動化 網上 下載安裝 src .cn 基礎 client cnblogs pytho unittest框架的學習得益於蟲師的《selenium+python自動化實踐》這一書,該書講得很詳細,大家可以去看下,我也只學到一點點用於工作中,閑暇時記錄下自己所學才能更加印象深刻

selenium + python自動化測試unittest框架學習python導入模塊及包知識點

腳本 selenium imp pat 程序 文件 sel sys module 在寫腳本的時候,發現導入某些模塊,經常報錯提示導入模塊失敗,這裏來惡補下python導入模塊的知識點。 1.模塊導入時文件查找順序 在腳本中,import xxx模塊時的具體步驟: (1)新建

Selenium2+python自動化56-unittest之斷言assert【轉載】

用例 lists tca enc whether set .py exce req 前言 在測試用例中,執行完測試用例後,最後一步是判斷測試結果是pass還是fail,自動化測試腳本裏面一般把這種生成測試結果的方法稱為斷言(assert)。 用unittest組件測試用例的

Python自動化運維開發----基礎資料型別

一、Python資料型別有三種 (1)數值型別 (2)字串型別 (3)布林型別 二、數值型別  1.分類: (1)整數型 (2)浮點型 (3)正數 (4)負數 2.數值型別的四則運算(加、減、乘、除、整除、餘、冪) >>> 1 +&nb

網易自動化測試工具Airtest初探

上一篇網易自動化測試工具Airtest初探(一),使用了IDE介面方式開發了一條超級簡單的傳送資訊的指令碼。本篇主要是要處理一些邏輯思維稍微複雜一些的,包含一些邏輯判斷,邏輯控制等。 1、先了解下python的一些資料型別和基本語法(個人感覺,其實這些python基礎的東西,稍微知道一下寫法

Selenium2 Python 自動化測試實戰學習筆記

第五章          自動化測試模型 一個自動化測試框架就是一個整合體系,在這一體系中包含測試功能的函式庫、測試資料來源、測試物件識別標準,以及種可重用的模組。自動化測試框架在發展的過程中經歷了幾個階段,線性測試、模組驅動測試、資料驅動測試、關鍵字驅動測試。 Pytho

selenium+python自動化97--unittest引數化paramunittest

http://mp.weixin.qq.com/s?__biz=MzI5ODU1MzkwMA==&mid=2247484532&idx=1&sn=8df303295e8a06c73fe0b42f0c0b3a02&chksm=eca54337db

前端自動化測試之UI RECORDER、PC錄制

啟動服務 域名 run ports shadow 科學 兼容 webp htm PC錄制教程 準備工作: NodeJs環境 請自行先安裝好nodejs環境,在命令行執行node -v命令成功說明已經安裝成功 Chrome瀏覽器 JAVA環境 UI Recorder We

selenium+python自動化79-文件下載SendKeys

bdr odin com utf-8 http rip 鼠標 setup Coding 前言 文件下載時候會彈出一個下載選項框,這個彈框是定位不到的,有些元素註定定位不到也沒關系,就當沒有鼠標,我們可以通過鍵盤的快捷鍵完成操作。 SendKeys庫是專業的處理鍵盤事件的,所

python selenium系列元素定位方式

bdr process sta css_ 講解 term 其他 1.5 win 一 前言元素定位,是操作元素的第一步,也是WebUI自動化的難點和核心。 二 元素定位方法selenium提供了內置的方法完成對待操作元素的定位,主要分為8類,其中,每類又可細分為定位單個元素和

Selenium測試結果視覺化工具--Sahagin測試框架使用入門

本片文章主要解釋如何使用Sahagin。 1、sahagin.jar依賴和JVM引數設定 (1)Maven 在pom.xml檔案中新增依賴和測試執行JVM引數 <properties> <sahagin.version>0.9.1&l

樂搏講自動化測試-Python自動化前景怎麽樣4

軟件 競爭 好的 tps 網站 底層 obs jpg 數據開發 相信小夥伴們都知道,隨著軟件測試行業的發展和進步自動化測試已經成為必然。在競爭日益激烈的市場環境中也是你升職加薪的利器。 所以,小編決定從今天起!將要系統、連續、高質量的持續更新「整套自動化測試」文章!從0開始

學習《第一行代碼》使用實機測試所遇問題

make 代碼 出現 onf msu field menus action java代碼 實機使用酷派大神F1,添加menu後,右上角不出現菜單,此時在java代碼中加入以下方法在onCreate中運行 private void makeActionOverflowMenu

自動化運維之saltstackstates介紹及使用

配置文件 如何 states master 根目錄 一、什麽是Salt States?Salt States是Salt模塊的擴展,主系統使用的狀態系統叫SLS系統,SLS代表Saltstack State,Salt是一些狀態文件,其中包含有關如何配置Salt子節點的信息,這些狀態被存放在一

python基礎-------進程線程

lob size 擁有 利用 oba tar 優點 port pre   Python中的進程線程(二) 一、python中的“鎖” 1.GIL鎖(全局解釋鎖) 含義: Python中的線程是操作系統的原生線程,Python虛擬機使用一個全局解釋器鎖(Global Inte

python 命令行參數學習

Coding odi increase logs 說明 code des urn 數學 照著例子看看打打,碼了就會。寫了個命令行參數調用進行運算的腳本。 參考文章鏈接:http://www.jianshu.com/p/a50aead61319 #-*-coding:utf

google軟件測試之道讀後感

世界 簡單 分析 故事 好的 多次 新的 模型 證明 這幾天又翻了幾頁這本書,覺得妙語連珠,關鍵語錄摘抄如下,並補充自己的一些思考: “如果你想要求一個團隊去嘗試新的事物或者做某些改進,給他們提供一個聯系人會更好一些,這個聯系人來源於更大的社區,並可以從他那裏得到幫助”;