我們今天主講的內容,就是測驗框架Pytest,講到這個測驗框架對于沒有做過Web自動化的伙伴來說,會覺得這個東西是陌生的,那么到底什么是框架呢?什么又是自動化呢?自動化為什么又要用框架呢?
難道我學自動化我不就是學一個Python+Selenium或者+Appium就可以了嗎?
那這個框架它的作用是什么?
在這個程序中間呢,先跟大家來講一下自動化測驗,
所謂的自動化測驗,你可以理解為它其實跟功能測驗流程是一樣的,比如說我們做功能測驗的話呢,你需要去干什么?
你需要去分析需求,
功能測驗:分析需求==》用例的設計==》手工執行測驗用例==》Bug的提交==》測驗報告
我們做功能測驗首先要去分析需求,然后要去進行用例的設計,再有的話手工去執行用例,然后呢也要去進行Bug的一個提交,如果碰到Bug我們就要去提交Bug,提交完Bug之后,一個版本或者一個階段測驗完之后我們就要去出具測驗報告,基本上對于我們功能測驗來說就是這樣子的一個環節流程,
自動化測驗(分析需求==》設計自動化用例控==》代碼(工具)執行用例)==》測驗報告
其實自動化測驗它也是這樣子的一個環節流程,首先同樣我們也會去分析需求,但是這個分析需求的話呢,它是指你對整個專案業務的需求,以及流程的需求,我要確定在這個專案中間哪一些業務、流程可以用自動化來實作,哪些是不能實作,能實作的用自動化來做,不能實作的就用手工來做,所以第一個階段我們都是做需求的分析,然后在這一塊你確定需求后需要設計自動化測驗用例,在這個里面,我們說什么是自動化呢?
也就是說我們用代碼或者用工具的形式代替人工來執行這個用例的程序,那么它就是自動化測驗,
因為在功能測驗作業中間,原本我們是通過手工的方式去點點點,點擊輸入以及一些其他的操作,只是在自動化環節是用代碼或者工具方法進行替代,
代碼工具怎么去進行執行,怎么樣來進行判斷,怎么進行測驗報告的提交,那么這一些東西我們統統把它寫在代碼中間,因為在這個程序中間,既然你寫了這么多測驗用例,代碼去實作的時候我們也會要去覆寫到自動化測驗用例,從而進行實作,后面也是出具測驗報告,只是這個測驗報告不需要你人工去進行統計,
比如我人工去進行統計,一共多少個Bug,A類是多少,B類是多少,C類是多少,測驗結果是通過還是不通過,這個是我們做功能測驗時候會以這個方式去進行統計,進行衡量,
但是做自動化測驗的時候呢,我們也可以通過代碼的形式,讓它生成指定的測驗報告,中間會給你自動去統計有多少條用例是成功的有多少條測驗用例是失敗(出錯的)
所以在這一塊功能和自動化流程,最大的不同在是在代碼(工具)執行用例這一個環節
那如果我們要用代碼或者工具的方式,去覆寫或者說完成所有的自動化測驗用例,我們怎么樣去做?
難道都是用線性流程的方式來做嗎?
線性流程:打開瀏覽器--進入登錄界面--輸入用戶名--輸入密碼--點擊登錄
登錄
-
1:正確的用戶名Admin,正確的密碼-123456 ==》結果==》寫到測驗報告中去
-
2:錯誤的用戶名User,錯誤的密碼-1234567890
-
3……
無論是你的第一潭訓是第二條用例,它做的都是前面的這樣子一個線性流程,它們之間最大的差別是什么?-
最大的差別就是資料不同:
- 比如說正確的用戶名Admin - 123456
- 錯誤的我就來一個User,密碼匹配123456
- 再或者正確的用戶名Admin,匹配一個錯誤的密碼1234567890
所以在這里我們就要考慮,如何最大化的去重復使用腳本,只要通過不同的資料進行實作就OK,并且每一條用例它執行完成之后,會自動化的給你去生成對應的結果,寫到我們的測驗報告中間去,因為我們最終是通過測驗報告中間的結果來判斷你這個自動化測驗是通過還是不通過,
因此在這樣的情況下,如何來解決這一種用例覆寫的一個問題,因此這不得不跟大家講一下,我們要解決用例的覆寫,就是用我們的
單元測驗框架
比如說我們常見的
- Java——junit
- Python——unittest / Pytest
這些框架就是來規范自動化測驗用例的覆寫,以及最大的程度去復用腳本,
在這個程序中間,單元測驗框架作用不僅僅可以用于我們自動化測驗程序中間,它還可以用作單元階段的白盒測驗,這是說這部分的作業我們測驗工程師接觸得不多,因為在企業中間,大部分白盒測驗都會由開發來做,只是說如果你掌握這個東西的話,我們除了可以把它用在自動化層面,也可以用在單元白盒測驗階段,
那今天要和大家講到的就是Pytest,
unittest / Pytest有什么區別?
我們簡單的來闡述一下,
第一個他們兩者的共同點就是說都是主流的單元測驗框架
有些小伙伴比如他只會其中一種,比如說你會Pytest但不會用Unittest,
其實這也是一個面試題:你為什么用這一個不用另外一個,unittest / Pytest有什么區別?
在我們的學習程序中,既然這兩個都是主流,基本上兩個框架我們都必須要知道,
Unittest是Python自帶的一個單元測驗框架,而Pytest是一個第三方框架,這個是兩者之間第一個區別,
自帶框架和第三方的框架區別?
自帶的不需要安裝,可以直接使用,第三方你首先就得去安裝,
第二個區別,Unittest的功能其實是沒有Pytest那么強大的,因為Pytest它有很多的一些插件,并且全域性非常好,
第三個區別,Pytest的實作會比Unittest更為簡潔,更輕便,
所以在企業中間我們去進行自動化框架搭建的時候,其實會選擇Pytest會多于Unittest,
但是Unittest對于初學者入門,也是非常好的一個框架,
單元測驗框架Pytest
1、點贊,防止以后找不到,想看的時候,在自己主頁就能找到了,很方便;
2、關注我,讓我們成為長期關系,下一個視頻會分享更多的硬核干貨;
3、本文章學習資源,均可以免費分享,
文章首發于微信公眾號:程式員一凡,這樣的好內容,里面還有近百篇, 謝謝你的支持!一個用心碼了這么多文字的人,往往渴望得到大家的認可,如果你覺得這篇文章對你有幫助,雙擊螢屏,給我點個贊呀!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/280895.html
標籤:其他
下一篇:OOP作業總結(二)
