[Bài 7] Webdriver script đơn giản đầu tiên

Các bạn học Selenium Webdriver chẳng mấy xa lạ với các kiểu viết test này, có đầy trên mạng. Mình cũng bắt đầu series hướng dẫn với script đơn giản nhưng mà thay vì hướng dẫn các bạn đi vào xử lý từng cái Element trên trang web như Alert, selectbox, iframe… thì mình sẽ hướng dẫn trực tiếp vào các testcase vào giải thích từng phần của code.

NOTE: mình sử dụng trang WordPress demo mình đã hướng dẫn build ở bài trước.

Đây là code mà các bạn tiếp cận:

 

  • Phần 1: là những thư viện cần thiết.

Khi viết code nếu IDE báo lỗi code thì có thể là do bạn add thiếu thư viện. Bạn có bấm Ctrl + Shift + O để eclipse tự động add thêm thư viện còn thiếu. Hoặc trỏ chuột vào chỗ báo lỗi ấn nút F2 để hiện thị lên các suggest fix lỗi đó, nếu thiếu thư viện thì nó sẽ gợi ý add thêm thư viện thiếu.

  • Phần 2: là annotation thông báo cho TestNG đây là method test.

Nếu không có cái annotation này thì TestNG sẽ không run test (Đây là 1 lỗi thường gặp của các bạn mới học)

  • Phần 3: khởi tạo 1 object.

Do WebDriver là 1 interface nên khi khởi tạo ta phải new 1 Object của 1 class đã implement cái Interface WebDriver, trong trường hợp này là FirefoxDriver. (Nếu bạn chưa học các khái niệm về class và interface thì nên học lại)

Cái driver ở trên chỉ là đặt tên, bạn có thể đặt tên khác cũng được. ví dụ:

 

  • Phần 4: Mở URL của trang login.

Cái Object driver trên sử dụng được rất nhiều các method khác nhau để điều khiển cái browser. Các bạn có thể đọc lại bài này để hiểu thêm về các method của interface WebDriver.

  • Phần 5: Điền thông tin và click vào button submit

Trong đó, sendKeys()click() là method của interface WebElement.

Okey, Run thử thôi, sau khi run bạn sẽ được nhận kết quả xanh lè từ result của TestNG.

Bạn chợt nghĩ là Test Automation có gì ghê gớm, cũng dễ ấy mà, nhưng thật sự thì có rất nhiều các vấn đề mà bạn cần phải suy nghĩ.

  1. Sau khi run cái Browser của bạn nó vẫn đang đứng im ở đó, nó không đóng lại sau khi thực hiện xong script.
  2. Trong testcase có phần expected result, và hình như trong script chưa có chỗ nào để verify lại các giá trị. Hiện tại, bạn đang ngắm nhìn script và verify bằng mắt, liệu bạn có thể verify được tiếp nếu có 10, 20, 100, 1000 test cases khác nhau?
  3. Có quá nhiều tham số đang bị fix cứng theo từng test case. ví dụ:
    URL, username, password và id của các element.
  4. Giả sử bạn có test case thứ 2: login với username sai và password sai. Bạn có copy code từ thằng method đầu tiên xuống làm 1 method mới không. Mình cá là có, vì mình đã từng như thế =)))))
    Thế nếu cái login này có 10 test cases thì sẽ có bao nhiêu dòng code bị lặp đi lặp lại, duplicate code sẽ tràn lan khắp project mất.

Sẽ còn có nhiều vấn đề nảy sinh khi bạn tiếp tục học và làm về Selenium Webdiver, hãy cứ tiếp tục nghĩ về những điều đó và đọc blog của mình, để xem mình xử lý những vấn đề đó bằng cách nào. 😀

[Bài 8] Hoàn chỉnh test script login

3 thoughts on “[Bài 7] Webdriver script đơn giản đầu tiên

  1. Pingback: [Bài 6] Tạo WordPress site để thực hành Selenium | GiangTester Blog

  2. Pingback: [Bài 8] Hoàn chỉnh test script login | GiangTester Blog

  3. Pingback: [Bài 19] Webdriver script đơn giản thứ ba | GiangTester Blog

Leave a Reply

Your email address will not be published. Required fields are marked *