SELENIUM Bài 4: Selenium IDE

 I. Selenimum IDE là gì ?

  • Selenium IDE là 1 add on trên trình duyệt, trước kia chỉ có trên FireFox nhưng sau này đã có trên Chrome, nó chức năng record and playback các action trên trình duyệt.
  • Selenium IDE chủ yếu được sử dụng trong project nhỏ, và một số chức năng nhỏ, chứ không được sử dụng trong các project lớn vì chức năng của nó rất là hạn chế.

Hình 1: Selenium IDE


II. Cách cài đặt và sử dụng Selenium IDE.

1. Cách cài đặt

Link down load Selenium IDE trên Chrome: TẠI ĐÂY
Bước 1: Nhấn vào link download, và nhấn vào add to Chrome
Bước 2: Pin add on này trên chrome để dễ dàng sử dụng.




Hình 2: Giao diện Selenium IDE

2. Cách sử dụng

Nếu bạn lần đầu tiên sử dụng tool này, chúng ta sẽ thực hiện theo các bước sau đây.

Bước 1: Nhấn Record a new test in a new project
Bước 2: Điền tên project nhấn OK
Bước 3: Điền Url trang web muốn test nhấn start recording
Bước 4: Thực hiện các action trên trang web mình muốn test
Bước 5: Sau khi thực hiện các action xong nhấn vào nut stop recording trong tool
Bước 6: Máy sẽ hỏi điển test name, điền tên test name sau đó nhấn OK là bạn đã ghi lại được quá trình thao tác trong trang web mình muốn test.
Bước 7: Thực hiện việc chỉnh sửa các hành động chỉnh sửa trong cái record mình vừa ghi
Hình 3: Giao diện tool sau khi ghi lại các hành động muốn test trên 1 trang web

Hình 4: Cách thay đổi thứ tự các command





Hình 5: Cách thực hiện các hành động với command


Bước 8: Nhấn lưu lại, file lưu lại sẽ có định dạng tên file.side, chúng ta có thể mở file này bằng node pad, nội dung trong file này được lưu theo kiểu định dạng của json, nó sẽ là các cặp key và value


Hình 6: Cách lưu file


Hình 7: Định dạng file đã record


Hình 8: Nội dung side file

Bước 9: Chạy file test đã lưu, sẽ có hai lựa chọn Run all tests và Run current test, khi click Run all tests, bạn sẽ chạy tất cả các test case có trong project, còn nếu click Run Current test thì chị chạy test case hiện tại. Sau đó Selenium IDE sẽ chạy lại toàn bộ những gì chúng ta đã thao tác trước đó mà tool đã ghi lại được. 




Hình 9: Các cách chạy test case

Sau khi chạy xong sẽ xuất hiện tab log và tab reference, tab log ghi lại kết quả của quá trình thao tác test còn tab reference sẽ cho ta thấy các command hoạt động như thế nào, để xem được command đó hoạt động như thế nào, chúng ta click vào command đó và chọn tab reference.



Hình 10: Tab log ghi lại quá trình thao tác và kết quả của quá trình test



Hình 11: Tab reference

Một command của Selenium ID sẽ bao gồm 4 phần đó là: 
  • Command: Tên loại command
  • Target: Target giúp chúng ta trỏ đến element, còn những cái command không liên quan đến element thì nó sẽ là một số cái khác tùy vào trường hợp cụ thể. Khi chúng ta click vào Target nó sẽ sổ ra một loạt các HTML Locator chúng ta có thể chọn Locator mà ta muốn sử dụng.
  • Value: Value có 1 số command có, 1 số command không, ví dụ nếu command đó là command liên quan đến password, thì ô Value này sẽ là giá trị mật khẩu.
  • Description: Cái này là miêu tả command.
Hình 12: Các HTML Locator của Target



Hình 13: Nút select target và nút search target

3. Các loại command của selenium IDE

a. Các loại command liên quan đến trình duyệt, bàn phím, chuột 

Ví dụ các action như open, type, mouse up, mouse down. send key click, close....

b. Các loại command liên quan đến assertion

Trong loại này lại có hai loại đó là assert và verify, loại command này sẽ kiểm tra 1 điều kiện, nếu điều kiện đúng thì chạy tiếp, nếu điền kiện ra thì nó đánh test case là FAIL
Assert: Sau khi kiểm tra điều kiện, nếu test case là FAIL thì nó sẽ dừng lại không chạy nữa.
Verify: Sau khi FAIL vẫn chạy tiếp lệnh tiếp theo.

c. Khi nào dùng 2 loại này

  •  Có 1 số test case mà có các step nó block các step khác thì chúng ta nên dùng assert như nếu login fail thì chúng ta sẽ không được làm gì hết.
  • Còn 1 số step test case FAIL mà không làm block đến quá trình test của chúng ta như một trang form nhập dữ liệu, form này có rất nhiều trường, chúng ta verify từng trường một, nó sẽ không ảnh hưởng đến nhau, nên chúng ta dùng Verify, nếu chúng ta dùng assert ở đây, ví dụ có nhiều test case FAIL, cứ mỗi step nó sẽ block và dừng lại và báo FAIL như thế sẽ rất mất nhiều thời gian, còn dùng verify có thể tìm ra rất nhiều step FAIL cùng 1 lúc.
Hình 14: Assert command


Hình 15: Verify command

d. Các lệnh về wait

  • Wait cho phép chúng ta dừng lại và đợi cho điều kiện nào đó thỏa mãn thì mới chạy tiếp
  • Wait được sử dụng trong trường hợp trigger các hành động load trong page ví dụ như phài đợi cho các element trong page load hết thì chúng ta mới thực hiện các hành động nào đó.
  • Lệnh wait có điều kiện và điều kiện này có khoảng thời gian timeout, nếu trong khoảng thời gian timeout điều kiện không thỏa mãn thì nó sẽ báo FAIL và dừng lại, còn nếu trong khoảng thời gian timeout điều kiện thỏa mãn thì nó sẽ chạy tiếp mà không cần wait nữa.



Hình 16: Các lệnh về wait

e. Các lệnh về điều khiển

Các lệnh điều khiển đó là các lệnh về if, else, vòng lặp (do, while)

Hình 17: Các lệnh về điều khiển


f. Các lệnh liên quan đến Store

  • Nó sẽ lưu các giá trị vào 1 cái biến, và chúng ta có thể sử dụng cái biến đó vào trong các câu lệnh tiếp theo.
  • Để sử dụng giá trị của tên biến ta dùng cú pháp sau ${tên biến đã lưu giá trị}
  • Như trong hình, ví dụ tên biến là username thì định dạng để lấy giá trị của biến username sẽ là ${username}


Hình 18: Cú pháp lấy giá trị của tên biến sau khi đã được lưu giá trị

4. Các nút chức năng trong Selenium IDE

a. Nút Test case và Test Suite

Ngoài ra Selenium IDE cho phép chúng ta quản lý các test case và test suite, một test suite sẽ có nhiều test case, khi muốn chạy một test suite thì chúng ta sẽ nhấn vào run all tests



Hình 19: Test case và Test suite

b. Nút Add new window configuration

  • Ở một command nó có có nút Add new window configuration nó sẽ cho phép chúng ta set timeout cho cái command ta mở ra
  • Ví dụ bình thường trang web chúng ta mở thì phải đợi cho nó load ra, tuy nhiên có thể trang web đó load lâu quá thì chúng ta set thời gian timeout để kiểm tra xem thời gian load như thế là được chưa.

Hình 20: Nút Add new window configuration


Hình 21: Set khoảng thời gian timeout cho command


c. Biểu tượng đồng hồ set execution speed

  • Nó là khoảng thời gian delay giữ các step, nếu chúng ta để fast thì nó sẽ chạy rất là nhanh, còn nếu để slow thì sẽ thấy rõ khoảng thời gian chạy giữa các step rất là chậm
  • Vậy tại sao lại có chức năng này, ví dụ khi chúng ta load một page, tại thời điểm đó mạng bị lag, tốc độ rất chậm, nếu các step test chạy nhanh quá thì nó chưa kịp load các element, dẫn đến tình trạng báo test case đó sẽ bị fail. Vì vậy để fast nó sẽ chạy nhanh nhưng hay xảy ra lỗi hơn, còn nếu để là slow, nó sẽ chạy chậm nhưng nó sẽ ít xảy ra lỗi hơn.

Hình 22: Đồng hồ set execution speed

5. Một số lưu ý khác

  • Trước đây Selenium IDE có chức năng convert testcase sang một định dạng ngôn ngữ lập trình, cái này phù hợp với những người muốn làm nhanh, hay ngôn ngữ lập trình yếu thì có thể lấy rồi sửa code dùng nhanh hơn. Tuy nhiên đối với bản mới của Selenium thì nó chưa phát triển đến phần đó
  • Do FireFox update lại addon, addon cũ không chạy được nữa, nên Selenium IDE phải làm lại và chưa phát triển đến mục này.
  • Gần đây có một add on thay thế hoàn hảo cho Selenium IDE đó là Katalon Recorder, đây cũng là 1 add on trên Chrome, các bạn có thể download Katalon Recorder TẠI ĐÂY,  sau đó cài đặt tương tự Selenium IDE

Hình 23: Giao diện Katalon Recorder

  • Giao diện Katalon Recorder và các câu lệnh nó cũng tương tự Selenium IDE
  • Cái chúng ta quan tâm đó là mục Export, khi chúng ta nhấn vào đây thì nó sẽ covert testcase sang dạng ngôn ngữ lập trình ta muốn chọn, sau đó ta lưu vào file và có thể sử dụng.
  • Vì vậy chúng ta nên dùng Katalon Recorder chứ không nên dùng Selenium IDE

Hình 24: Chức năng export trên Katalon Recorder




Giới thiệu về HIENDV94

Mình là Hiển. Đây là blog ghi chép lại những thứ mình trải qua và học được hàng ngày, mình luôn luôn muốn học hỏi để trau dồi kinh nghiệm, hoàn thiện bản thân. Rất mong được làm quen mọi người. Hãy kết bạn với mình qua Facebook các bạn nhé.

0 Bình luận:

Đăng nhận xét