chương 1 của khóa luận đã trình bày được các vấn đ cơ bản của kiểm thử phần m'ân. Trong chương 2 của khóa luận sẽ trình bày vêkiểm thử tự động, giới thiệu tổng quan v êcông cụ Selenium và đi sâu vào giới thiệu kiến trúc và hướng dẫn cài đặt 3 thành ph cơ ban 1a Selenium IDE, Selenium RC va Selenium WebDriver. KIEM THU TU DONG VA CONG CU SELENIUM Dưới đây là những vấn đ`êchương 2 sẽ trình bày: [1 Kiểm thử tự động O Céng cu Selenium 2. KIEM THU TU DONG 2.
Khái niệm kiểm thử tự động Kiểm thử tự động là quá trình kiểm tra hệ thống với dữ liệu đầu vào và dữ liệu đi ra được xác định một cách tự động để thực thi các test case mà không c3 hoặc c% it tới sự can thiệp của con người. Đối với kiểm thử tự động thì đữ liệu được từ file input đầu vào (excel, csv.) nhập vào ứng dụng, sau đó đọc file và kiểm tra sự giống và khác nhau giữa kết quả thực tế với kết quả mong đợi, từ đó xuất ra file output (excel, csv.) báo cáo kết quả thực hiện. Qui trình kiểm thử tự động Qui trình kiểm thử tự động s Gm 4 bước: O Bước I: Dùng công cụ kiểm thử để ghi lại các thao tác lên phần m'`ân c3n kiểm tra và tự động sinh ra test script. [1 Bước 2: Chỉnh sửa để kịch bản kiểm thử để thực hiện theo đúng yêu câu.
O Bước 3: Chạy kịch bản kiểm thử và giám sát hoạt động kiểm tra phần mềm được kiểm thử. 1 Bước 4: Báo kết quả sau khi thực hiện kiểm thử tự đệng. Sau đó bổ sung chỉnh sửa những sai sót. Ưu v> nhược điểm của kiểm thử tự động.
Ưu điểm của kiểm thử tự động: -_ Kiểm thử tự động có độ bao phủ lớn, và đệ chính xác cao. -_ Cân ít nhân lực trong quá trình kiểm thử. 10 - Chu kỳ kiểm thử diễn ra trong thời gian ngắn - Gitp người kiểm thử tránh việc kiểm thử lặp đi lặp lại các bước nhàm chán. - _ Hiệu năng của kiểm thử các lớp vượt xa tần với của kiểm thử thủ công.
Tuy nhiên kiểm thử tự đệng cũng có các nhược điểm sau: -_ Chi phí cao cho việc chuyển giao công nghệ va đào tạo nhân viên. -_ Tốn chi phí và thoi gian cho việc tạo các kịch bản kiểm thử và bảo trì các kịch bản kiểm thử. -_ Giai đoạn chuẩn bị kiểm thử yêu cân nhi `âi nhân lực 2. Khi n>o nên kiểm thử tự động Lý do thường xuyên nhất dẫn đến quyết định sử dụng kiểm thử tự động là thưởng xuyên phải thực thi một số lượng test case lớn phải trong một khoảng thời gian ngắn.
Từ khi DEV đưa ra bản thiết kế mới cho tới khi phiên bản mới tới tay khách hàng chỉ tử 1 đến 2 ngày. Trong thời gian ngắn ngủi như vậy chính là lúc lý tưởng để sử dụng kiểm thử tự động. -_ Xây dựng một bộ kiểm thử tự động cho những chức năng chính, mỗi khi có bản thiết kế mới. Đây là công việc rất thưởng xuyên trước khi thực hiện kiểm thử tự động.
-_ Khi muốn thực thi performance test hay load test. - Khi sO luong d4 vao cua 1 test case quá nhi`âi (như ví dụ 50 bộ dữ liệu test), cũng nên xem xét khả năng thực hiện kiểm thử tự động. CÔNG CỤ SELENIUM 2. Giới thiệu chung v`êSelenium Selenium (thường được viết tắt là SE) là một phần m`ềần mã ngu ồn mở, được phát triển bởi Jason Huggins, sau đó được tiếp tục bởi nhóm ThoughtWorks vao nam 2004.
Selenium là một công cụ hỗ trợ kiểm tra tự động cho các ứng dụng chạy trên n` web.[4] Selenium hỗ trợ kiểm tra hân hết trên các trình duyệt phổ biến hiện nay như Firefox, Internet Explorer, Chrome, Safari, cũng như các hệ đi 'âi hành chủ yếu như Windows, Linux, Maec.Selenium hỗ trợ một số lớn các ngôn ngữ lập trình như C#, Java, Perl, PHP, 11 Python, Ruby,. Không những vậy, Selenium có thể kết hợp thêm với một số công cu khác như Bromien, Junit, Nunit. Th>nh ph% cia Selenium Selenium g mn một bộ công cụ hỗ trợ kiểm tra tự động các ứng dụng web để đảm bảo chất lượng của các ứng dụng web, Selenium ø 'ần có các thành ph % sau: Hình 2. Th>nh phần của Selenium.[Š] Selenium-IDE: là một công cụ cho phép ghi (record) và phát lại (playback) một test script.
Nó được thực hiện như là một Firefox Add-On. Selenium IDE cho phép export ra kịch bản đã thu dưới nhi `âi loại ngôn ngữ lập trình khác nhau như Java, Php, C#, Ruby, Perl hay Python.[4] Selenium-RC, Selenium WebDriver : Ca hai thành phần Selenium này đ cung cấp thư viện cho mỗi ngôn ngữ được hé tro: Html, Java, C #, Perl, Php, Python, va Ruby. [5] Kiến trúc của Selenum WebDriver đơn giản hơn so với Selenium RC. Selenium WebDriver lam vié¢ truc tiếp với trình duy&¡ở mức đô¡ hê ¡ đi âi hành trong khi Selenium RC làm viêe với trình duyêt thông qua mô¡t hê¡ thống Server ảo — Selenium Remote Control (RC) Server.
Selenium-Grid: Là một hệ thống hỗ trợ người dùng thực thi test script trên nhi êi trình duyệt một cách song song mà không cẦñn phải chỉnh sửa test script. Giới thiệu v`êSelenium IDE v> môi trưởng c>i đặt a. Giới thiệu v ềSelenium IDE Trước đây người ta gọi Selenium IDE là Selenium Recorder. Selenium IDE ban đần được tạo ra bởi ShinyaKasatani và trao tặng cho các dự án Selenium vào năm 2006.
13 Selenium IDE cho phép nguoi dùng thực thi những công việc sau đây: [1 Ghi (Record) những thao tác của người dùng khi sử dụng trình duyệt Firefox. Record những hành động trên Firefox khá đơn giản, người dùng chỉ c3Ần nhấn nút Record trén Selenium IDE là chương trình sẽ ghi lại các thao tác đã tương tác với Web trên Firefox. Ngươi dùng có thể sửa lại command hoặc target ngay trên Selenium IDE, sau đó lưu test case (chức nang save) dé tai str dung 1 & sau. O Chay lai nhirng script da ghi được.
O Chuyén đổi script đã ghi thành các ngôn ngữ lap trinh khac. Selenium IDE con cd chức nang Export. Chirc năng này sẽ giúp cho ngươi dùng export code dưới dạng nhi ôi ngôn ngữ khác nhau như Python, Java, C#, Ruby.Néu đã export thì không thé import trở lại để playback trên Selenium IDE mà phải dùng nó trong một framework khác. Môi trưởng c>i dat Selenium IDE trên trình duyét Fire Fox Truc khi cai dat Selenium IDE, nguoi ding c%® kiém tra xem da cai dat selenium IDE trước đó hay chưa bằng cách vào trình duyệt Firefox, click vào “Tool” trên thanh Menu Bar, khi thanh trỏ sổ xuống mà không thấy có biểu tượng Selenium IDE thì khi đó sẽ thực hiện các thao tác cài đặt sau: Bước 1: Vào trang htfp://www.org/download/ tại đây ngươi dùng cần click vào phiên bản Selenium IDE c8 download.
Bước 2: Khởi đệng lại trình duyệt Firefox. Bước 3: Để chạy Selenium IDE, chỉ cẦn chọn nó từ menu Tools của Firefox. Nó sẽ mở ra như sau với một cửa sổ kịch bản phần m`ân biên tập rỗng. Giao dién Selenium IDE a.
Gi?i thich mét s& ky hiéu cơ b?n trên giao diện của Selenium IDE: 15 URL của ứng dựng web Danh sách các Ack§# ions trong Test case dé th ur hién Not thu hiện sự kiện Và lỗỗi cảnh báo Hình 2. Giao diện vùng Ì>m việc Ghi hoạt động Test Test trong web based Testrunner Những lệ nh thực hiện Dié Gu khi ẩi tỗếc độ test Thể hi ên dòng lệnh Bao gỗ Gn kéét qua mong đ ở Hình 2. Các thanh công cụ của Selenium Các thanh công cụ chứa các nút để kiểm soát việc thực hiện các trưởng hợp thử nghiệm, bao ø ân một số tính năng. 16 ¢ Base URL: Liu homepage cla tng dung web ¢ Test case: Liét ké cac test case cé trong test suite ° Speed Control: Đi ân chỉnh tốc độ khi chạy Test case.
Run All: Chạy tất cả các Test case. Khi có nhi `âi trưởng hợp thử nghiệm được nạp ° Run: Chạy từng test case, khi chỉ có duy nhất một thử nghiệm được nạp ° Pause/Resume: Tạm ngưng/Tiếp tuc thirc thi test case dang chạy. ° Step: Thực thi từng bước một trong test case. Chỉ có tác dụng khi test case đang tạm ngưng.
° Apply Rollup Rules: Chức năng đặc biệt cho phép nhóm nhi`âi action nhỏ thành một action lớn. Record: Ding để thu lại các Test case thông qua các thao tác hành động của người dùng lên trình duyệt. * Table/Source: Danh sach cac action trong test case. * Command: Danh sach cdc action ma Selenium IDE dang hỗ trợ.
¢ Target: Dinh nghĩa control mà chúng ta dang tương tác. ¢ Value: Dw liéu test. ¢ Log: Théng tin v`êaction đang được thực thị. ° Reference: Hướng dẫn sử dụng action đang được chọn.
° _UI-Element and Rollup: Được sử dụng ở mức advance, khi người dùng tự thiết kế các nhận diện control hay gom nhém action. Chirc nang cla Selenium IDE: O Thuc hién ché’ d6 ghi: Selenium IDE hé tro’ thu lai kich ban thi nghiém bang cach ghi lại những hành động của người dùng khi duyệt các trang web trong trình duyệt.Bắt đầi thực hiện chế độ ghi bằng cách nhấp vào "Selenium IDE" trong Tools Menu trén trình duyệt Firefox. Giao diện Selenium TDE hiện ra như hình 2.1 H Di chuyển chuột qua nút “Recording” để kiểm tra trạng thái ghi. Nút “Recording” luôn trong trạng thái sẵn sàng ghi.
Giờ người dùng bắt đần ghi hành động của minh trong trình duyét Firefox. Hình ?nh nút ghi Recording [1 Thực hiện kiểm thử Sau khi thực hiện ghi test case, người dùng c3n phải ghi test case cñn test vào nó sẽ hiện ra 18 Hinh 2. Hinh ?nh sau khi ghi test case O Chạy các test case đã được lưu. Sau khi thực hiện test, nó sẽ hiện ra : Hình 2.
Hình ?nh sau khi test 19 H Sau khi test mình có thể lưu lại chương trình L Chèn lệnh: - Chèn vào bảng: Trong ô test case, click chuột trái tại vị trí muốn chèn lệnh và chọn Insert command. Selenium IDE sẽ thêm một dòng trắng phía trước dòng được chọn. Nhập lệnh vào ô command, kết quả mong muốn vào ô target, giá trị đầầni vào vào ô value. -_ Chèn vào mã ngu: Chọn vị trí trong test case mà bạn muốn chèn lệnh.
Trong ô test case, chuột trái vào vị trí muốn chèn lệnh. Vào tag HTML, c3 tạo 3 dòng chứa lệnh bao øg ôn tham số đẦi tiên (nếu lệnh yêu câi có tham số), tham số thứ hai (nếu có). Lưu test case trước khi chọn lại table view. - Chén comment: Các comment có thể được thêm vào cho test case dễ hiểu hơn.
Những comment được bỏ qua khi chạy test case.