在Jnklns中集成Selenium測(cè)試
Selenium通過(guò)激活瀏覽器并使其指向應(yīng)用的web服務(wù)器,在自身集成到JavaScript和DOM層后,遠(yuǎn)程控制瀏覽器。
在測(cè)試實(shí)現(xiàn)時(shí),有兩種基本的辦法:
記錄瀏覽器中用戶的交互行為,保存結(jié)果后可以讓測(cè)試代碼重用。
使用Selenium的測(cè)試API從頭開(kāi)始實(shí)現(xiàn)測(cè)試。
許多開(kāi)發(fā)人員選擇用Selenium API以測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的方式將測(cè)試實(shí)現(xiàn)為代碼。不論測(cè)試實(shí)現(xiàn)的方式如何,它們都需要在集成構(gòu)建的服務(wù)器上運(yùn)行。
這意味著你需要在測(cè)試環(huán)境安裝瀏覽器。而這樣會(huì)有些問(wèn)題,因?yàn)闃?gòu)建服務(wù)器通常不運(yùn)行界面。
一種解決的思路是在構(gòu)建服務(wù)器上的模擬桌面環(huán)境中包裝一個(gè)瀏覽器。
更高級(jí)的解決辦法是用Selenium Grid。顧名思義,Selenium Grid提供了一個(gè)服務(wù)器,為測(cè)試生成多個(gè)瀏覽器實(shí)例。如此就可以提供一組不同的瀏覽器配置同時(shí)并行運(yùn)行一系列的測(cè)試。
你可以在開(kāi)始時(shí)使用單個(gè)瀏覽器的解決方案,然后在必要時(shí)選擇Selenium Grid的方案。
還可以用Docker容器很方便地實(shí)現(xiàn)Selenium Grid。