Nội dung bài viết
I. Cái mình có thể train không có điểm gì mới.
Mình mới làm vài dự án có sử dụng selenium (trực tiếp hoặc gián tiếp), tích lũy kinh nghiệm không được nhiều nên những thứ mình đem vào cho khóa học sẽ không có điểm gì mới so với các khóa mà những nơi khác đã làm. Bạn có thể tìm kiếm các khóa dạy cơ bản ở các trung tâm hoặc các platform như udemy hay pluralsight.
Khi học các khóa đó, các bạn sẽ biết về cách thức làm việc với selenium, action lên trang web như thế nào, wait ra sao, các bạn có thể học thêm những thứ test framework (junit/testng), cách sử dụng report (extent, allure), có thể còn có cả cucumber, jenkins.
Nếu cái mình có thể train không có điểm gì khác biệt hay vượt trội, mình sẽ không làm.
II. Làm việc với selenium mình không thấy hứng thú
Như mình đã chia sẽ ở 1 vài note khác, “làm việc với UI Auto” chưa bao giờ là 1 trải nghiệm vui vẻ vì nó không ổn định, làm cho người code cảm thấy hoang mang, bực mình, và project sẽ giảm độ tin tưởng vào nó. Mình không thích làm việc với một thứ mà không ổn định như vậy, do vậy mình luôn tránh nó nếu có thể.
III. Với mình, chỉ học selenium là không đủ
Nhu cầu học Automation nói chung và UI Auto sử dụng selenium là rất lớn, đôi khi mình cũng động lòng vì nhu cầu học lớn như vậy, mình làm thêm 1 khóa học, chắc cũng có vài người đăng ký, kiếm thêm đôi ba đồng. Nhưng qua trải nghiệm vài dự án thì mình nhận ra “chỉ mới biết selenium là không đủ”.
- Vào thực tế dự án, bạn sẽ gặp rất nhiều case mà không giống trong lúc bạn học, phải nói thật là bạn sẽ thấy benefit từ stackoverflow nhiều hơn là từ khóa học basic selenium.
- Bạn cần học nhiều hơn về lập trình hướng đối tượng (OOP) để thật sự hiểu cách ứng dụng các tính chất encapsulation (đóng gói), polymorphsim (đa hình), inheritance (thừa kế) vào trong lập trình chứ không phải là cái để nói cho vui.
- Bạn cần học nhiều hơn về language features, không chỉ cơ bản mà còn nâng cao.
Test nhanh: bạn có biết java annotation, generic type, reflection, Iterable, Iterator, Comparable, Comparator, equals(), hashCode(), lambda expression, stream
không?
- Code cần clean và cố gắng tuân thủ theo các nguyên tắc.
- Bạn cần nâng cấp khả năng đọc hiểu code của thư viện và framework.
Những cái trên đều thuộc về phần intermediate của lập trình, nếu bạn chỉ học selenium cơ bản rồi vào dự án làm việc thì khả năng cao là bạn đang tạo ra rất nhiều đoạn code chạy được nhưng không hiệu quả (nặng lời hơn thì gọi là code rác).
IV. Tổng kết
Trên là vài lý do mà mình không có khóa nào dạy về selenium cả, như mình đã nói, việc học selenium là cần thiết nhưng nếu chỉ học thư viện đó mà coi là đã biết về Automation thì xin lỗi, chân bạn còn cách xa mặt đất lắm. Hãy học lập trình cơ bản step-by-step, rồi nâng cấp dần lên, đọc sách, đọc code nhiều lên, lên stackvoverflow trả lời các câu hỏi trên đó. Đó mới là cách phát triển lâu dài, chúc bạn thành công.