兩個Laravel和硒使用PHPUnit的斷言。 在這兩個Laravel和硒你寫的代碼,使測試(而不是選擇的東西GUI做的;例如open: google.com
,write in: name->queryInput text:"test search"
,click: name->searchButton
)。 Laravel和硒兩者都能夠訪問網頁,提交表單和檢查結果。通過向cron添加PHPUnit命令,您可以在Laravel和Selenium中自動執行測試。爲什麼使用Selenium和Laravel進行測試?
所以我爲什麼要用Selenium在Laravel進行測試?
我能想到的唯一的事情是,硒可以讓你選擇其中的頁面將被打開一個瀏覽器。因此,如果您的測試只通過Laravel測試通過,那麼某些瀏覽器(如Internet Explorer)可能會失敗。
在this Laracast作者說在1:00:
一個問題與[在Laravel測試]時,它不包括JavaScript的支持。所以相反,我們僞造請求,我們得到響應,我們正在檢查它,但在該過程中沒有涉及瀏覽器或JavaScript引擎。
但什麼是僞造請求的利弊? Selenium如何提供幫助?一個例子是完美的。
感謝您的回答。所以值得安裝所有的Selenium組件,因爲它會模仿*真實世界的場景*,正如你所說的那樣。但是,看起來你應該總是使用硒,因爲這是你的目標。我觀看了Laracast和imo,可以用Selenium編寫相同的測試,然後從現實世界中*更多*。那麼你能否給出一個瀏覽器根本不重要的例子,所以我知道何時使用Laravel的集成測試以及何時使用Selenium?我知道這擴展了我的問題,但能夠有一個完整的圖片將是很好的。 – user1
那麼,我沒有提到一些非常重要的東西。硒測試有一個缺點,由於與瀏覽器的集成,它們速度較慢,而且它們依賴於具體的瀏覽器實例作爲依賴關係。在我的特殊情況下,我更喜歡使用大多數Laravel集成測試,而Selenium只用於那些需要驗證特定場景(例如涉及JS或特定瀏覽器中的頁面呈現出於特殊原因)驗證的測試。 – alariva
@mr_jigsaw我認爲瀏覽器根本就不重要,只要你主要關注應用程序邏輯(更多的是後端)。當你更關注UI/UX時使用Selenium是有意義的,特定於瀏覽器的功能,這可能只是您決定測試的幾個用例情景(更多的是前端) – alariva