Tổng quan
Nhật ký là thông tin về các sự kiện, đối tượng được tạo ra bởi các trình duyệt hoặc phần mềm trong khi chạy, nhà phát triển thường sử dụng nó để gỡ lỗi
Có nhiều loại nhật ký khác nhau, bài viết này sẽ hướng dẫn bạn cách thu thập loại nhật ký đầu tiên:
- Nhật ký trình duyệt: chứa các thông tin liên quan tới trang web, như yêu cầu mạng, mã javascript, css, các tin nhắn báo lỗi, cảnh báo, … Những nhật ký này có thể được yêu cầu khi bạn kiểm thử một trang web
- Nhật ký thiết bị di động: chứa các sự kiện được gửi đi bởi hệ thống và các ứng dụng đang chạy trên thiết bị. Những nhật ký này có thể được yêu cầu khi bạn kiểm thử một ứng dụng di động
- Nhật ký mạng: chứa lưu lượng HTTP(s) giữa máy tính của bạn với Internet giúp phân tích, chẩn đoán bất kỳ sự cố mạng nào. Những nhật ký này có thể được yêu cầu trong 1 vài dự án nhất định
Những thứ cần nhớ
- Xóa nhật ký cũ: Bạn cần xóa thông tin nhật ký cũ trước khi thu thập nhật ký mới
- Định dạng tệp nhật ký: Bạn nên lưu nhật ký ở định dạng .txt
- Tái tạo lỗi trong khi thu thập nhật ký: Nhật ký phải chứa các hoạt động và lưu lượng truy cập trang web hoặc ứng dụng bạn đang kiểm thử
- Dấu thời gian: Đảm bảo tệp nhật ký chứa các mốc thời gian tương ứng với từng thông tin, sự kiện xảy ra (thường xuất hiện ở đầu dòng)
- Với nhật ký trình duyệt: 23:30:12.175 Navigated to https://www.google.com/
- Với nhật ký di động: 12-10 13:02:50.071 1901-4229/com.facebook.android.gms
Nhật ký trình duyệt trên máy tính
Các trình duyệt đều hoạt động giống nhau trên mọi nền tảng máy tính, nên bạn có thể làm theo các bước tương tự trên Windows, MacOS hay Linux.
Google Chrome hoặc trình duyệt dùng Chromium
- Nhấn tổ hợp phím Ctrl+Shift+I hoặc F12 hoặc chọn biểu tượng ba chấm > More Tools > Developer Tools
- Chọn Console > biểu tượng bánh răng trong góc trên bên phải
- Cuộn xuống dưới tới phần Console preferences rồi chọn Show Timestamps và Preserve Log Upon Navigation
- Thoát khỏi cửa sổ cài đặt
- Xóa console bằng cách nhấp vào biểu tượng Clear Console hoặc chuột phải vào cửa sổ console rồi chọn xóa
- Tải lại trang web và tái tạo lỗi bắt đầu ở trang chủ
- Nhấp chuột phải vào console và chọn Save as hoặc sao chép toàn bộ nhật ký từ console và dán vào phần mềm chỉnh sửa văn bản như Notepad chẳng hạn
- Lưu lại với định dạng .txt
Lưu ý
- Chắc chắn rằng nhật ký console phải chứa dấu thời gian và chuỗi văn bản “Navigated to” khi kiểm thử trang web
- Làm theo các bước tương tự để thu thập trên các trình duyệt dùng Chromium khác như: Microsoft Edge, Opera, Brave, Yandex, …
Firefox
- Nhấn tổ hợp phím Ctrl+Shift+K hoặc F12 hoặc chọn biểu tượng 3 gạch ngang ở góc trên bên phải và chọn Web Developer > Web Developer Tools
- Trên console, chọn biểu tượng bánh răng ở góc trên bên phải và chọn Persist Logs và Show Timestamps
- Nhấp vào biểu tượng thùng rác để xóa nhật ký cũ
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ
- Chuột phải vào console > Save all Messages to File để lưu nhật ký ở định dạng .txt
Lưu ý
Nếu bạn không thấy dấu thời gian nào thì hãy thử thay đổi kích thước cửa sổ console đến khi nó xuất hiện
Safari
- Nhấp vào Safari trên thanh menu và chọn Preferences
- Chọn biểu tượng bánh răng nâng cao và tích vào ô Show Develop menu in the menu bar
- Đóng cửa sổ cài đặt nâng cao lại và chọn danh sách thả xuống Develop > Show Web Inspector
- Trên cửa sổ console, chọn Preserve Log và nhấp vào biểu tượng thùng rác để xóa nhật ký cũ
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ
- Nhấp vào tab Console rồi nhấn tổ hợp phím Command+S để lưu nhật ký ở định dạng .txt
Lưu ý
Nhật ký được tạo bởi Safari không hỗ trợ dấu thời gian
Mẹo
Cách hiển thị và thay đổi định dạng file: Windows
- Mở File Explorer lên và điều hướng đến thư mục chứa file cần thao tác
- Chuyển sang tab View trong menu ở trên để xem menu ribbon
- Nhấp vào tùy chọn File name extensions để hiển thị đuôi file
- Quay trở về chỗ file cần thao tác, bạn sẽ thấy phần định dạng file
- Chuột phải vào file rồi chọn Rename để đổi tên và định dạng file như ý muốn
MacOS
- Chuột phải vào file và chọn Rename từ menu các tùy chọn
- Đổi tên và đuôi file cho phù hợp
- Nhấn Enter hoặc nhấp ra bên ngoài để hoàn tất
Nhật ký HAR trên máy tính
HAR là viết tắt của HTTP Archive, đây là loại nhật ký của trình duyệt chuyên lưu trữ các thông tin về tương tác giữa trình duyệt với trang web bạn đang kiểm thử. Thông tin này hữu ích với các nhà phát triển trong việc khắc phục và xác định nguyên nhân gốc rễ của vấn đề
Định dạng nhật ký HAR được hỗ trợ bởi nhiều phần mềm khác nhau như: Charles Proxy, Fiddler, Firebug, Firefox, Google Chrome, Microsoft Edge và OWASP ZAP.
Những thứ cần nhớ
- Luôn nhớ tằng file HAR bao gồm cả dữ liệu nhạy cảm. Do đó nếu bạn đang cố gắng tái tạo lỗi mà liên quan đến Username, Password, PIN, CVV, Số tài khoản/IBAN, số thẻ, hoặc bất kỳ thông tin cá nhân nào thì hãy đảm bảo chúng được xóa trước khi tải lên báo cáo lỗi
- Đóng tất cả các tab không liên quan trong trình duyệt khi bạn thu thập nhật ký HAR
- Chỉ tải lên nhật ký HAR nếu được yêu cầu bởi TTL, TE, hoặc TSM của dự án
Cách thu thập nhật ký HAR
Google Chrome hoặc trình duyệt dùng Chromium
- Nhấn tổ hợp phím Ctrl+Shift+I (Windows) / Option+Command+I (Mac) hoặc chọn biểu tượng 3 chấm > More Tools > Developer Tools
- Mở tab Network lên (nếu không thấy, nhấp vào biểu tượng ”>>” hoặc mở rộng cửa sổ Developer Tools)
- Tích vào ô Preserve log
- Xóa lưu lượng (nhật ký) cũ bằng cách nhấp vào biểu tượng xóa 🚫
- Mở trang web cần kiểm thử lên và bắt đầu tái tạo lỗi
- Chuột phải hoặc nhấn Ctrl+click (Mac) trên nhật ký và chọn Save all as HAR with content hoặc nhấp vào nút Export HAR (biểu tượng tải xuống) ở trên đầu tab Network
- Lưu lại với định dạng .har
Lưu ý
Các bước trên được thực hiện tương tự với bất kỳ trình duyệt dùng Chromium nào như: Microsoft Edge, Opera, Brave, Yandex, …
Kiểm tra mã trạng thái và lọc nhật ký
Bạn có thể được yêu cầu kiểm tra mã trạng thái đối với một số mục nhật ký nhất định bằng cách:
- Nhấp vào mục nhật ký mong muốn
- Từ tab Headers > General, kiểm tra mã trạng thái trong trường Status code (ví dụ: 200 OK, 400 Bad Request, …)
Bạn có thể tìm nhanh các mục nhật ký cụ thể bằng tính năng lọc như sau:
- Nhấp vào biểu tượng hình phễu trên cùng của tab Network
- Nhập từ khóa vào hộp văn bản hiện ra để lọc
Firefox
- Nhấn tổ hợp phím Ctrl+Shift+E (Windows) / Option+Command+I (Mac) hoặc mở Menu > More Tools > Web Developer Tools
- Mở tab Network lên (nếu không thấy thì nhấp vào biểu tượng ”>>” hoặc mở rộng cửa sổ Developer Tools)
- Nhấp vào biểu tượng bánh răng và chọn Persist Logs
- Xóa lưu lượng (nhật ký) cũ bằng cách nhấp vào biểu tượng thùng rác
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ
- Chuột phải hoặc nhấn Ctrl+click (Mac) trên nhật ký và chọn Save All As HAR hoặc nhấp vào biểu tượng bánh răng rồi chọn Save All As HAR
- Lưu lại ở định dạng .har
Kiểm tra mã trạng thái và lọc nhật ký
Bạn có thể được yêu cầu kiểm tra mã trạng thái đối với một số mục nhật ký nhất định bằng cách:
- Nhấp vào mục nhật ký mong muốn
- Từ tab Headers, kiểm tra mã trạng thái trong trường Status (ví dụ: 200 OK, 400 Bad Request, …)
Bạn có thể tìm nhanh các mục nhật ký cụ thể bằng tính năng lọc như sau:
- Nhập từ khóa vào hộp văn bản Filter URLs trên cùng của tab Network để lọc
Safari
- Nhấp vào thanh menu và chọn Settings
- Mở tab Advanced > tích vào ô Show features for web developers
- Đóng cửa sổ lại và nhấn tổ hợp phím Option+Command+I hoặc nhấp vào Develop trên thanh menu > Show Web Inspector
- Mở tab Network (nếu không thấy thì nhấp vào biểu tượng ”>>” hoặc mở rộng cửa sổ Developer Tools)
- Từ menu ba gạch ngang ở phía trên bên trái của tab Network, chọn Preserve Log
- Xóa nhật ký cũ bằng cách nhấp vào biểu tượng thùng rác
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ
- Nhấn Ctrl+click hoặc chuột phải lên cột Name của nhật ký và chọn Export HAR hoặc nhấp vào nút Export ở góc trên bên phải
- Lưu lại với định dạng .har
Kiểm tra mã trạng thái và lọc nhật ký
Bạn có thể được yêu cầu kiểm tra mã trạng thái đối với một số mục nhật ký nhất định bằng cách:
- Nhấp vào mục nhật ký mong muốn
- Từ tab Headers > Summary, kiểm tra mã trạng thái trong trường Status (ví dụ: 200 OK, 400 Bad Request, …)
Bạn có thể tìm nhanh các mục nhật ký cụ thể bằng tính năng lọc như sau:
- Nhập từ khóa vào hộp văn bản Filter Full URL trên cùng của tab Network để lọc
Cách chỉnh sửa nhật ký HAR
Windows
- Mở file HAR trong phần mềm chỉnh sửa văn bản như Notepad hoặc Notepad++
- Sử dụng tính năng thay thế để tìm thông tin bạn muốn xóa hoặc ẩn đi như: địa chỉ, ngày sinh, số điện thoại, tài khoản ngân hàng, số thẻ, số CCV hoặc bất kì thông tin nhạy cảm nào
- Thay thế bằng chuỗi **** hoặc bất kì chuỗi kí tự nào để che đậy thông tin
- Lưu lại và tải file HAR lên báo cáo lỗi hoặc báo cáo testcase chỉ khi được yêu cầu
MacOS
- Mở file HAR với ứng dụng mặc định: TextEdit
- Di chuột qua mục Find và chọn Find and Replace
- Tìm kiếm thông tin nhạy cảm muốn xóa trong nhật ký và thay thế bằng chuỗi **** hoặc bất kì chuỗi kí tự nào
- Lưu lại và tải lên báo cáo lỗi hoặc báo cáo testcase chỉ khi được yêu cầu
Lưu ý
- Đảm bảo định dạng file nhật ký là .har
- Bạn có thể dùng bất kì trình sửa đổi văn bản nào khác với ý tưởng bước làm như trên
Nhật ký trình duyệt trên điện thoại
Thu thập nhật ký trình duyệt trên điện thoại có đôi chút phức tạp và phải thông qua máy tính để thực hiện, quy trình này được gọi là gỡ lỗi từ xa
Các trình duyệt dùng Chromium và Firefox chỉ hỗ trợ gỡ lỗi từ xa thông qua cáp USB cho thiết bị Android và iOS chỉ hỗ trợ gỡ lỗi từ xa trên Safari.
Với người dùng Android, làm theo các bước sau trước khi thu thập:
![]() | ![]() |
---|---|
Trên điện thoại | Trên máy tính |
- Bật tính năng Công cụ nhà phát triển trên thiết bị của bạn bằng cách chạm vào Build Number 7 lần. Nhấp vào đây nếu gặp vấn đề
- Mở Developer Options lên và bật tính năng USB Debugging
- Kết nối trực tiếp Android của bạn với máy tính qua cáp USB
- Trên máy tính, tải xuống SDK platform-tools tại đây
- Giải nén và mở thư mục tải xuống
- Mở phần mềm Command Prompt (Windows) hoặc Terminal (MacOS hoặc Linux)
- Gõ lệnh
cd
kèm một dấu cách theo sau và kéo thả đường dẫn chứa thư mục đã giải nén vào phần mềm, sau đó nhấn Enter (ví dụ:cd c:\users\someone\desktop\platform-tools
) - Bạn sẽ thấy dấu nhắc trỏ đến thư mục platform-tools của mình
- Giờ hãy gõ
adb start-server
và cho phép bất kì yêu cầu cấp phép nào trên thiết bị của bạn
Lỗi
Nếu lệnh ở bước 9 không hoạt động, hãy mở lại Command Prompt hoặc Terminal với quyền quản trị viên và thử lại
Google Chrome hoặc trình duyệt dùng Chromium
Đối với Android:
- Trước khi bắt đầu, bạn cần thực hiện trước các bước từ 7 đến 10 được đề cập ở trên để đảm bảo trình duyệt nhận diện được thiết bị android của bạn
- Mở Google Chrome trên máy tính lên và điều hướng đến trang chrome://inspect#devices
- Dù là trình duyệt nào (dựa trên Chromium) trên điện thoại mà bạn dùng để kiểm thử, bạn vẫn có thể dùng Google Chrome trên máy tính để kiểm tra và phân tích chúng
- Đảm bảo tùy chọn Discover USB devices được bật và thiết bị của bạn đã kết nối với máy tính cũng như được mở khóa
- Nếu bạn thấy tên mô hình thiết bị Android của mình, có nghĩa là DevTools đã thành công kết nối thiết bị của bạn
- Nếu thiết bị hiển thị trạng thái Offline, đồng ý với thông báo Allow USB Debugging trên điện thoại của bạn
- Nhấp vào đây nếu DevTools không phát hiện ra thiết bị của bạn
- Tất cả các tab trong trình duyệt di động sẽ hiển thị trên trình duyệt Chrome để bàn, mình khuyên bạn nên đóng hết lại
- Mở trang web cần kiểm thử trên trình duyệt di động
- Trong trình duyệt Chrome để bàn, nhấp vào nút Inspect bên cạnh URL của trang web đang kiểm thử
- Một cửa sổ DevTools mới sẽ hiện ra. Nếu có lỗi, hãy thử nhấp vào Inspect fallback
- Bên trong tab Console, nhấp vào biểu tượng bánh răng ở góc trên bên phải để mở trang cài đặt
- Cuộn xuống dưới phần Console preferences > chọn Show Timestamps và Preserve Log Upon Navigation, sau đó thoát khỏi trang cài đặt
- Xóa nhật ký cũ bằng cách nhấp vào biểu tượng Clear Console hoặc chuột phải trong cửa sổ console và chọn xóa
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ
- Chuột phải vào nhật ký và chọn Save as
- Lưu lại với định dạng .txt
Đối với iOS:
- Mở Chrome trên thiết bị iOS lên, chạm vào biểu tượng 3 chấm ở góc dưới bên phải và chọn Settings > Content Settings > Web Inspector, sau đó bật tùy chọn Web Inspector
- Kết nối trực tiếp thiết bị iOS của bạn với máy tính (phải là MacOS) bằng cáp phù hợp, đảm bảo bạn tin tưởng thiết bị kết nối
- Trên điện thoại, giữ một tab Chrome được mở
- Trên máy tính, Mở Safari lên và chọn Settings
- Mở tab Advanced và tích vào ô Show features for web developers
- Đóng trang settings lại, nhấp vào Develop > tên thiết bị iOS của bạn > tab chrome được mở
- Trình kiểm tra trang web sẽ hiện ra, điều hướng đến tab Console
- Trong cửa sổ Console, nhấp vào biểu tượng 3 gạch ngang > chọn Preserve Log và nhấp vào biểu tượng thùng rác để xóa nhật ký cũ
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ trên thiết bị iOS của bạn
- Lưu lại ở định dạng .txt bằng tổ hợp phím Command+S hoặc nhấn tổ hợp Command+A để chọn tất cả thông tin trong nhật ký, chuột phải và chọn Save Selected
Lưu ý
Đảm bảo file nhật ký chứa dấu thời gian và chuỗi văn bản “Navigated to” khi kiểm thử trang web
Firefox
Đối với Android:
- Mở Firefox trên máy tính lên, nhấp vào menu 3 gạch ngang và chọn Web Developer > Remote Debugging
- Nhấp vào nút Enable USB devices
- Mở Firefox trên điện thoại của bạn ra, chạm vào menu 3 chấm và bật Remote debugging via USB từ trang cài đặt
- Bạn sẽ thấy tên thiết bị của mình xuất hiện trong trình duyệt Firefox để bàn, nhấp vào nút Connect ngay bên cạnh
- Nhấp vào đây nếu Firefox không nhận diện được thiết bị của bạn
- Nhấp vào tên thiết bị để xem tất cả các tab đang mở, đóng hết chúng lại
- Mở trang web cần kiểm thử trong trình duyệt Firefox di động
- Trong trình duyệt Firefox để bàn, nhấp vào nút Inspect bên cạnh URL trang web đang kiểm thử
- Một cửa sổ Toolbox sẽ hiện ra, chọn tab Console > nhấp vào biểu tượng bánh răng ở góc trên bên phải > chọn Persist Logs và Show Timestamps
- Nhấp vào biểu tượng thùng rác để xóa nhật ký cũ
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ
- Để thu thập nhật ký, chuột phải vào console > chọn Export Visible Messages To > File
- Lưu lại với định dạng .txt
Đối với iOS:
- Kết nối trực tiếp thiết bị iOS của bạn với máy tính (phải là MacOS) bằng cáp phù hợp, đảm bảo bạn tin tưởng thiết bị kết nối
- Trên điện thoại, giữ một tab Firefox được mở
- Trên máy tính, Mở Safari lên và chọn Settings
- Mở tab Advanced lên và tích vào ô Show features for web developers
- Đóng trang settings lại, nhấp vào Develop > tên thiết bị iOS của bạn > tab firefox được mở
- Trình kiểm tra trang web sẽ hiện ra, điều hướng đến tab Console
- Trong cửa sổ Console, nhấp vào biểu tượng 3 gạch ngang > chọn Preserve Log và nhấp vào biểu tượng thùng rác để xóa nhật ký cũ
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ trên thiết bị iOS của bạn
- Lưu lại ở định dạng .txt bằng tổ hợp phím Command+S hoặc nhấn tổ hợp Command+A để chọn tất cả thông tin trong nhật ký, chuột phải và chọn Save Selected
Lưu ý
Đảm bảo file nhật ký chứa dấu thời gian và chuỗi văn bản “Navigated to” khi kiểm thử trang web
Safari
- Mở cài đặt iOS, vuốt xuống và chọn Safari > Advanced rồi bật Web Inspector lên
- Kết nối trực tiếp thiết bị iOS của bạn với máy tính (phải là MacOS) bằng cáp phù hợp, đảm bảo bạn tin tưởng thiết bị kết nối
- Trên điện thoại, mở Safari lên và giữ một tab được mở
- Trên máy tính, mở Safari và chọn Settings
- Chọn tab Advanced và kích hoạt tùy chọn Show features for web developers
- Đóng trang settings lại và nhấp vào Develop > tên thiết iOS của bạn (như Someone’s phone) > tab được mở trên điện thoại
- Trình kiểm tra trang web sẽ mở ra, điều hướng đến tab Console
- Trên cửa sổ console, nhấp vào biểu tượng ba gạch ngang và chọn Preserve Log, và ở góc trên bên phải của trình kiểm tra, nhấp vào biểu tượng bánh răng, mở tab Console và bật tùy chọn Show: Timestamps lên
- Quay trở lại tab Console và nhấp vào biểu tượng thùng rác để xóa nhật ký cũ
- Tải lại trang web và tái tạo lỗi bắt đầu từ trang chủ trên thiết iOS của bạn
- Lưu lại với định dạng .txt bằng tổ hợp phím Command+S trên máy tính
Lưu ý
Đảm bảo file nhật ký chứa dấu thời gian và chuỗi văn bản “Navigated to” khi kiểm thử trang web
Nhật ký HAR trên Android
![]() | ![]() |
---|---|
Trên điện thoại | Trên máy tính |
Thiết lập thiết bị di động:
- Bật Công cụ nhà phát triển bằng cách chạm vào Build number 7 lần
- Thao tác này có thể sẽ không giống trên các thiết bị Android khác nhau, hãy thử tìm kiếm trên mạng để phù hợp với điện thoại của bạn
- Mở Developer Options lên
- Bật tùy chọn USB debugging
- Chạm vào nút OK trong cửa sổ bật lên
- Kết nối điện thoại của bạn với máy tính qua 1 dây cáp USB
- Chọn bất kì tùy chọn nào trong cửa sổ bật lên sau đó
Mở DevTools và thu thập nhật ký HAR
- Gõ chrome://inspect trong thanh URL của trình duyệt Chrome để bàn để mở DevTools
- Mở trang web cần kiểm thử trên điện thoại
- Nhấp vào liên kết Inspect được hiển thị dưới phần Remote Target
- Trong cửa sổ bật lên, mở tab Network
- Nếu không thấy, bạn có thể nhấp vào biểu tượng ”>>” và chọn tab đó
- Bật tùy chọn Preserve log nếu nó tắt
- Tái tạo lỗi sử dụng screencast trên DevTools hoặc dùng công cụ ghi màn hình của điện thoại
Lưu nhật ký:
- Chuột phải vào nhật ký được tạo trong tab Network
- Chọn Save all as HAR với tùy chọn nội dung
- Chọn vị trí lưu file mong muốn
- Nhập tên file và nhấp vào nút Save để lưu
Loại bỏ PII trong nhật ký
- Chỉnh sửa file HAR được đề cập ở đây