iT邦幫忙

2021 iThome 鐵人賽

DAY 27
2
Modern Web

當拉拉肉遇到單元測試,是否能夠擦出命運的火花?系列 第 28

[Day 27] 甚麼是ChromeDriver?可以自動駕駛嗎?

其實相信有爬蟲經驗的人,
就會發現我們做的許多單元測試,
跟爬蟲有87%像,
實際上它的原理跟爬蟲也是差不多,
只是我們的目的是用來測試自己作的網站,
但是我們在用簡單功能爬蟲的時候,
有時候會遇到一個問題,
就是JS的Render問題。

你會發現取得回來的資料,
跟我們實際上在網站上看到的資料,
可能會有所不同,
因為現在很多的網頁,
不會在一開始就把資料都處理好,
而是等畫面載入完成之後,
透過JS去做Render的動作,
把資料顯示在網頁上。

那針對這樣的網頁,
我們應該要怎麼做呢?
有些人可能想要自己寫,
不過既然都有人造好輪子了,
為什麼還要這麼麻煩呢?
Laravel本身有提供ChromeDriver可以讓我們做這個動作。

ChromeDriver 是一個為 Chromium 實作的應用程式,
要使用ChromeDriver需要安裝Chrome,
大部分是用在電腦或是Android手機上,
透過ChromeDriver它會幫我們抓取經過Js Render之後的網頁,
在爬蟲上很有名的Selenium常常也是透過ChromeDriver來實作。

我們就不探討太多學術性的東西,
明天開始就來研究如何使用ChromeDriver作測試。


上一篇
[Day 26] 針對View來作測試
下一篇
[Day 28] 使用ChromeDriver來做單元測試(一)
系列文
當拉拉肉遇到單元測試,是否能夠擦出命運的火花?31

尚未有邦友留言

立即登入留言