18年selenium3+python3+unittest自動化測試教程(下)

第六章 自動化測試進階實戰篇幅css

一、自動化測試實戰進階之網頁單選性別資料實戰html

簡介:講解使用selenium修改input輸入框和單選框java


二、自動化測試之頁面常見彈窗處理node

簡介:講解使用selenium處理頁面彈窗,alert和comfirmpython

彈窗經常使用方法(須要先切換窗口  switch_to_alert() )mysql

accept() 表示接受linux

dismiss() 表示取消git


三、高級知識點自動化測試之驗證碼常看法決方案web

簡介:自動化測試之常見驗證碼解決方案sql

一、破解驗證碼

OCR識別: tesseract-ocr

AI機器學習: 

二、繞過

一、讓開發人員臨時關閉驗證碼 安全性須要保密,通常在開發測試環境使用)

二、提供一個萬能的驗證碼(安全性須要保密,通常在開發測試環境使用)

三、使用cookie(登陸主要是爲了拿cookie,獲取登陸憑證)


四、自動化測試實戰進階之cookie操做

簡介:講解自動化測試實戰進階操做cookie和使用場景


五、實戰系列之自動化測試錯誤截圖

簡介:講解使用webdriver自動截圖

driver.get_screenshot_as_file("./error_png.png")


第七章 自動化測試必備框架 unittest 單元測試框架實戰

一、什麼是單元測試unittest

簡介:講解什麼是單元測試,使用場景和unittest介紹

一、單元測試:

是指對軟件中的最小可測試單元進行檢查和驗證。對於單元測試中單元的含義,通常來講,要根據實際狀況去斷定其具體含義,

如C語言中單元指一個函數,

function add(int a, int b){

return a + b

}

Java裏單元指一個類,圖形化的軟件中能夠指一個窗口或一個菜單等。

總的來講,單元就是人爲規定的最小的被測功能模塊。單元測試是在軟件開發過程當中要進行的最低級別的測試活動,軟件的獨立單元將在與程序的其餘部分相隔離的狀況下進行測試

二、unittest 框架是 python的單元測試框架, java -> junit

官網:https://docs.python.org/2/library/unittest.html

三、unnitest = TestCase + TestResult  執行用例 + 結果


二、單元測試框架unittest入門

簡介:講解單元測試框架 unittest的使用

一、用import語句引入unittest模塊

二、測試的類都繼承於TestCase類

三、setUp() 測試前的初始化工做;tearDown()測試後的清除工做  (在每一個測試方法運行時被調用)

注意:

一、全部類中方法的入參爲self,定義方法的變量也要「self.變量

二、定義測試用例,以「test」開頭命名的方法,方法的入參爲self

三、unittest.main()方法會搜索該模塊下全部以test開頭的測試用例方法,並自動執行它們

四、本身寫的py文件不能,用 unittest.py 命名,否則會找不到TestCase

成功是輸出 . 失敗是 F

py開發工具 pycharm

# -*- coding: UTF-8 -*-

import unittest

class UserTestCase(unittest.TestCase):

    def setUp(self):

    def tearDown(self):

    def test_name(self):        

if __name__ == '__main__':

    unittest.main()


三、測試套件TestSuite介紹

簡介:講解測試套件TestSuite的基本介紹和使用場景

需求: 

一、利用unnitest執行流程測試而非單元測試

二、控制unnitest的執行順序

一、unittest.TestSuite() 類來表示一個測試用例集

1)用來肯定測試用例的順序,哪一個先執行哪一個後執行

2)若是一個class中有四個test開頭的方法,則加載到suite中時則有四個測試用例

3)由TestLoder加載TestCase到TestSuite

4)verbosity參數能夠控制執行結果的輸出,0 是簡單報告、1 是通常報告、2 是詳細報告

默認1 會在每一個成功的用例前面有個「.」 每一個失敗的用例前面有個 「F」

二、TextTestRunner()  文本測試用例運行器

三、run()方法是運行測試套件的測試用例,入參爲suite測試套件


四、高級實戰系列之測試套件TestSuite生成測試報告 上集

簡介:HTMLTestRunner介紹

一、HTMLTestRunner介紹

HTMLTestRunner 是 Python 標準庫的 unittest 模塊的一個擴展,它能夠生成 HTML的 測試報告,沒法經過pip安裝。 

首先要下 HTMLTestRunner.py 文件,將下載的文件放入…\python\Lib目錄下 (或者同個路徑)

注意點:

python2和python3,語法不同,致使HTMLTestRunner在python3不兼容

解決辦法:導入課程資料裏面修改好的HTMLTestRunner.py (該版本是網上的小夥伴修改好的)


五、高級實戰系列之測試套件TestSuite生成測試報告 下集

簡介:講解使用測試套件TestSuite解決多個用例生成測試報告


六、Unitest中HTML測試報告優化 

簡介:爲每個測試用例添加說明,那麼將會使報告更加易讀懂,工做中彙報數據的技巧

u"test_one方法"


第八章、自動化測試selenium和unittest整合項目實戰

一、小D課堂官網項目實戰需求說明

   簡介:講解小D課堂官方自動化測試需求場景,和項目基礎框架搭建

   1.自動化測試裏面的測試用例設計的一些方法 

   解耦、能夠獨立運行、須要靈活切換

設計思路: 腳本功能分析(分步驟)和模塊化分層(拆分爲多模塊)

   project

   login_order.py #登陸下單測試用例

   category.py #菜單分類測試用例

   all_test.py #主入口


二、自動化測試實戰之下單自動化測試

簡介:使用unittest + selenium 下單測試用例編寫

一、使用原先的資料 第5章第3集  第6章第4集


三、分類列表整合unittest自動化測試

簡介:使用unittest + selenium 菜單彈窗測試用例編寫

一、使用資料 第5章第2集


四、必備技能之發送測試報告郵件

簡介:講解發送郵件的基礎知識

一、郵件發送的基本過程與概念

郵件服務器 :相似於現實生活中的郵局,它主要負責接收用戶投遞過來的郵件,並把郵件投遞到郵件接收者的電子郵箱中

電子郵箱 :用戶在郵件服務器上申請的一個帳戶

from:<xxx@xx.com>  ----發件人

        to:<xxx@xx.com>    ----收件人

        subject:hello     ----主題

body: 歡迎來到小D課堂   -----內容體

二、郵件傳輸協議

SMTP協議:全稱爲 Simple Mail Transfer Protocol,簡單郵件傳輸協議。它定義了郵件客戶端軟件和SMTP郵件服務器之間,以及兩臺SMTP郵件服務器之間的通訊規則

POP3協議:全稱爲 Post Office Protocol,郵局協議。它定義了郵件客戶端軟件和POP3郵件服務器的通訊規則

IMAP協議:全稱爲 Internet Message Access Protocol,Internet消息訪問協議,它是對POP3協議的一種擴展,也是定義了郵件客戶端軟件和IMAP郵件服務器的通訊規則

參考資料:http://www.javashuo.com/article/p-rswzrmcs-hq.html


五、使用python發送郵件實戰

簡介:講解使用python發送郵件

導入依賴

一、使用 126郵箱 https://mail.126.com/

A: waitforxy@126.com

B: waitfordev@126.com

smtp地址:smtp.126.com

#coding=utf-8

import smtplib

from email.mime.text import MIMEText 

from email.header import Header


六、實戰系列使用python發送測試報告郵件和附件

簡介:使用python發送測試報告郵件和附件


七、自動化測試項目實戰整合發送測試報告郵件

簡介:抽取發送郵件的代碼,整合自動化測試


第九章 課程總結

一、課程總結和常見問題處理

簡介:課程總結和講解常見的問題處理

必備

初級:html/css/js/http   

中級:linux、mysql、jmeter(壓力測試用的最多的軟件之一)、lr(如今用的比較少)

python + request 網絡庫去開發接口自動化測試

高級:jenkins CI、git (管理項目質量、搭建全部基礎組件、bug管理工具(bugfree/jira))

可選

python/java/node

經過百度去解決錯誤和問題,學會用搜索引擎

相關文章
相關標籤/搜索