Báo cáo tìm hiểu công cụ selenium

20 3.5K 23
Báo cáo tìm hiểu công cụ selenium

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo tìm hiểu công cụ selenium

MỤC LỤC Chương 1: Giới thiệu Selenium 1 1.1. Đặt vấn đề 1 1.2. Lịch sử và giới thiệu chung 1 1.2.1. Lịch sử phát triển. 1 1.2.2. Giới thiệu chung 2 1.3. Selenium IDE 3 1.4. Selenium Core 4 Chương 2: Cài đặt và sử dụng 5 2.1. Cài đặt 5 2.1.1. Selenium IDE 5 2.1.2. Selenium Core 6 2.2. Selenese – Test case – Test suite 7 2.2.1. Selenese 7 2.2.2. Test case 9 2.2.3. Test suite 10 Chương 3: DEMO 11 3.1. Ứng dụng Selenium trong form login đơn giản 11 3.1.1. Thử nghiệm bằng Selenium IDE 11 3.1.2. Thử nghiệm bằng Selenium Core 13 3.2. Thử nghiệm với một số website phức tạp 15 Chương 4: đánh giá và tổng kết 16 4.1. Đánh giá chung 16 4.2. Tổng kết 16 Tài liệu tham khảo: 18 Báo cáo Tìm hiểu công cụ Selenium 2 | P a g e Nhận xét của giảng viên Báo cáo Tìm hiểu công cụ Selenium 1 | P a g e Chương 1: Giới thiệu Selenium 1.1. Đặt vấn đề Trong giai đoạn bùng nổ về công nghệ thông tin hiện nay, nhu cầu phát triển phần mềm nói chung và các ứng dụng xây dựng trên nền web nói riêng về chất lượng và số lượng đang trở nên bức thiết. Kéo theo đó là nhu cầu kiểm thử giao diện ứng dụng web để đạt được chất lượng tối ưu trước khi đến tay khách hàng. Vì thế mà các công cụ hỗ trợ kiểm tra tự động đang dần trở thành các trợ thủ đắc lực cho đội ngũ phát triển phần mềm. Một trong số đó, công cụ tiêu biểu là Selenium. Đây là bộ công cụ mã nguồn mở, mạnh mẽ, hỗ trợ các ứng dụng trên nền web, nhiều platform và các trình duyệt phổ biến. 1.2. Lịch sử và giới thiệu chung 1.2.1. Lịch sử phát triển SELENIUM(SE) là một phần mềm mã nguồn mở, được phát triển bởi Jason Huggins vào năm 2004 và được phát triển bởi Thoughtwork. Ông phát triển thư viên Javascript để tự động chạy các test trên nhiều trình duyệt, chính thư viện này đã trở thành Selenium Core tạo cơ sở cho Selenium IDE và Selenium Remote Control(RC). Selenium RC là một đột phá vì không sản phẩm nào cho phép bạn điều khiển trình duyệt với bất kì ngôn ngữ mình chọn. Vào năm 2006, một nhân viên của Google tên là Simon Stewart bắt đầu tiếp tục công việc được đặt tên là Webdriver. Google đã có một lượng người rất đông sử dụng Selenium, nhưng các tester vẫn làm việc vất vả trước sự hạn chế của sản phẩm Tới năm 2008, câu chuyện quan trọng của năm đó là sự kết hợp giữa Selenium và Web driver. Selenium đã lớn mạnh nhưng Web driver là công cụ của tương lai. Sự tham gia của hai công cụ này cung cấp một tập các tính năng cho người sử dụng. Lời giải thích tại sao Webdriver và Selenium lại sáp nhập được chi tiết bởi Simon Stewart, tác giả của Web driver. Báo cáo Tìm hiểu công cụ Selenium 2 | P a g e “ Tại sao lại có dự án sáp nhập? Một phần vì web driver khắc phục những thiếu sót trong Selenium (bằng việc bỏ qua JS sandbox, và chúng ta đã có một API tuyệt vời) thêm nữa Selenium lại bổ sung thiếu sót cho Web driver ( hỗ trợ pham vi rộng hơn của các trình duyệt) và do những đóng góp của Selenium làm tôi cảm thấy đó là cách tốt nhất để mang tới framework hoàn hảo cho người dùng. 1.2.2. Giới thiệu chung Selenium gồm nhiều công cụ với cách tiếp cận khác nhau để hỗ trợ kiểm thử tự động. Bộ công cụ này rất linh hoạt cho phép lựa chọn các yếu tố giao diện hay so sánh kết quả thí nghiệm dự kiến với thực tiễn. Một trong những tính năng chính của Selenium là hỗ trợ kiểm thử trên nhiều trình duyệt. Selnium là một công cụ hỗ trợ kiểm tra tự động cho các ứng dụng chạy trên nền web. Selenium hỗ trợ kiểm tra hầu hết trên các trình duyệt phổ biến hiện nay như Firefox , Internet Explorer , Safari , cũng như các hệ điều hành chủ yếu như Windows , Linux , Mac , Selenium hỗ trợ một số lớn các ngôn ngữ lập trình như C# , Java , Perl , PHP , Python, Ruby, Selenium có thể kết hợp thêm với một số công cụ khác như Bromien , Junit nhưng với người dùng thông thường chỉ cần chạy tự động mà không cần cài thêm các công cụ bổ trợ. Selenium bao gồm một bộ công cụ hỗ trợ kiểm tra tự động tính năng của ứng dụng web bao gồm: Selenium IDE, Selenium Remote control(RC), Selenium Core và Selenium Grid. - Selenium IDE được phát triển dưới dạng một ứng dụng mở rộng (add-on) cho Mozilla Firefox phiên bản 2.0 trở lên. Công cụ cung cấp chức năng Record and Playback. - Selenium Remote Control với bộ công cụ này cho phép nhận các Test script được thu bởi Selenium IDE, cho phép chỉnh sửa cải tiến linh động bằng ngôn ngữ lập trình khác nhau . Sau đó khởi động một trong các trình duyệt web được chỉ định để thực thi kiểm tra trực tiếp trên trình duyệt đó. Selenium RC còn cũng cấp khả năng lưu lại kết quả kiểm tra. Báo cáo Tìm hiểu công cụ Selenium 3 | P a g e - Selenium Grid thực hiện phương pháp kiểm tra phân bố, phối hợp nhiều kết quả Selenium RC để có thể thực thi trên nhiều trình duyệt web khác nhau trong cùng một lúc. Selenium Grid cũng cho phép lưu lại kết quả kiếm tra. - Selenium Core được tích hợp trong Selenium IDE, là một công cụ chạy các testscript viết bằng Selenese. Selenium có nhiều cách sử dụng khác nhau. Chúng ta có thể dùng Test Runner mode(Bot mode) sử dụng Selenium Core, cách này dùng các test case và test suite dưới dạng hàng trong file html. Với Selenium Remote control (RC) là driven mode, ở đây các test case trong các ngôn ngữ lựa chọn (Java, C#, Python, Perl, Ruby…). Record mode sử dụng Selenium IDE để thu lại các thao tác và giao diện web. 1.3. Selenium IDE Selenium IDE là công cụ giúp bạn phát triển ca kiểm thử được xây dựng dưới dạng add-ons của Fire-fox. Nó là cách tiện lợi nhất để xây dựng các ca kiếm thử, gồm các phần tử giao diện giúp bạn có thể lựa chọn thể hiện các thao tác, không chỉ tiết kiệm thời gian mà còn là cách thông minh để hiểu kịch bản Selenium. Bộ công cụ này cung cấp chức năng “thu và chạy lại”-Record and Playback. Nhờ đó Tester có thể nhanh chóng tạo một bộ kịch bản kiểm tra (test script) bằng cách trực tiếp “thu” các thao tác của mình trên đối tượng cần kiểm tra thành một tập những câu lệnh “Selenese” ( ngôn ngữ kịch bản được phát triển cho Selenium IDE và Selenium Core – có dạng bản HTML ) . Sau đó chạy lại các câu lệnh này để kiểm tra. Chức năng năng này rất hữu dụng , cho phép tiết kiệm thời gian viết kịch bản kiểm tra. Selenium IDE cho phép lưu kịch bản đã thu dưới nhiều loại ngôn ngữ lập trình. Selenium IDE có kiến trúc gồm Browser và Web Server như hình: Báo cáo Tìm hiểu công cụ Selenium 4 | P a g e Hình 1.1. Kiến trúc của Selenium IDE. 1.4. Selenium Core Đã được tích hợp trong Selenium IDE. Selenium Core là một công cụ chạy các test script viết bằng Selenese . Thế mạnh của công cụ này là có thể chạy test script trên hầu hết các trình duyệt , nhưng lại yêu cầu được cài đặt trên máy chủ của ứng dụng hay website cần kiểm tra. Điều này là không thể khi Tester không có quyền truy cập đến máy chủ. Cấu trúc của Selenium Core: Hình 1.2. Kiến trúc Selenium Core Báo cáo Tìm hiểu công cụ Selenium 5 | P a g e Chương 2: Cài đặt và sử dụng 2.1. Cài đặt 2.1.1. Selenium IDE Selenium IDE (Integrated Development Environment) được phát hành dưới dạng phần mềm bổ trợ (add-on) của Firefox , cho phép test , edit và debug code . Selenium có thể sinh code tự động hoặc nạp các đoạn mã viết tay. Đề cài đặt Selenium IDE, ta vào tab Tools trên thanh công cụ của fire fox, phần Add ons, search Selenium IDE hoăc vào trang chủ http://Seleniumhq.org/download/ download và tiến hành cài đặt sau đó khởi động lại trình duyệt, lúc này ở phần Tools của Fire Fox có hiện thêm Selenium IDE Hình 2.1. Add-on IDE trên Firefox Sau khi cài đặt thành công thì giao diện của Selenium Ide như hình: Báo cáo Tìm hiểu công cụ Selenium 6 | P a g e Hình 2.2. Giao diện của Selenium IDE Trên thanh công cụ của Selenium IDE có các tab như File, Edit, Actions, Options, Help mỗi tab lại có nhiều lựa chọn khác nhau giúp người dùng dễ dàng sử dụng. 2.1.2. Selenium Core Có 2 cách để cài đặt Selenium Core. Thứ nhất, Selenium Core được tích hợp trong Selenium IDE nên ta chỉ cần cài đặt IDE. Cách thứ hai là download gói tin từ trang chủ http://Seleniumhq.org/download/ và chạy như 1 website bình thường. Tất cả các test case và test suite đều phải được đặt vào trong thư mục tests của Selenium Core. Để chạy chương trình, ta vào thư mục Core trong gói cài đặt Selenium Core, và chạy file TestRunner.hta hoặc chạy TestRunner.html như 1 trang web. Màn hình giao diện chính của Selenium Core: Báo cáo Tìm hiểu công cụ Selenium 7 | P a g e Hình 2.3.Giao diện của Selenium Core Màn hình chia làm 4 frame: - Test Suite là nơi ghi đường dẫn đến test suite, sau khi nhấp đường dẫn đến test suite được đặt trong folder tests của gói cài thì ở đó sẽ hiển thị danh sách các test case. - Current Test: hiển thị từng test case - Frame ở dưới dùng là nơi hiển thị giao diện ứng dụng web ta muốn test. - Control Panel: là cửa số chứa các nút điều khiển của Selenium Core 2.2. Selenese – Test case – Test suite 2.2.1. Selenese Các câu lệnh của Selenium thường được gọi là Selenese, là tập hợp những commands chạy test của bạn. Một chuỗi những commands là một test script. Selenium cung cấp một tập phong phú các command đầy đủ cho việc test các ứng dụng web. Các lệnh cơ bản tạo ra một ngôn ngữ testing. Trong Selenese có thể kiểm tra sự tồn tại của các Elements giao diện dựa trên các thẻ tag HTML, kiểm tra các nội dung cụ thể kiểm tra các link hỏng, các trường đầu vào, các tùy chọn selection, form submit và dữ liệu bảng, thêm vào nữa, commands Selenium hỗ trợ kiểm tra size window, vị trí chuột, alert, các hàm ajax, cửa số pop up, event handling, và nhiều tính năng ứng dụng web khác. Selenese gồm có ba loại chính là Action, Accessors, Assertions: Báo cáo Tìm hiểu công cụ Selenium 8 | P a g e Action: là commands thường thao tác với các state của ứng dụng, như “click this link”, và “select that option”. Nếu action fail, hoặc có lỗi, quá trình thực thi của test hiện tại sẽ bị dừng lại. Nhiều actions có thể được gọi với “AndWait, thay thế luôn được sử dụng khi các hành động để trình duyệt điều hướng đến trang khác hoặc nạp lại trang hiện tại. Ví dụ: - click():click ở vị trí chuột - clickAt ( locator,coordString ) : click vào link, button, checkbox hoặc radio button. Nếu việc click dẫn đến một trang khác thì gọi lệnh waitForPageToLoad - close ( ) : mô phỏng người sử dụng nhấn vào nút “close” trên thanh tiêu đề của một cửa sổ hoặc tab. Accessors: để kiểm tra trạng thái của ứng dụng và lưu trữ các kết quả trong các biến ví dụ với storeTitle nó cũng được sử dụng tự động như Assertions. Accessors được sử dụng do có được giá trị từ một phần tử và so sánh , đưa quyết định hợp lý để thực hiện các bước kiểm tra, thực thi câu lệnh trong vòng lặp dựa trên giá trị được trả về bởi các phần tử. Ví dụ: - assertErrorOnNext ( message ) : kì vọng một lỗi ở lệnh tiếp theo - storeAlert ( variableName ) : Truy xuất tin nhắn của JavaSript alert trong quá trình hành động trước đó, hoặc fail nếu không có alert. Assertions: giống như Accessors, nhưng có thể xác minh trạng thái của ứng dụng phù hợp với những gì được mong đợi. Selenium assertions có thể sử dụng theo 3 cách: assert, verify và waitFor. Ví dụ: - assertText : Khi “assert” thất bại, kiểm tra bị hủy. [...]... lời Vì thế chọn lựa các công cụ kiểm tra tự động mã nguồn mở là một lựa chọn rất sáng suốt Một 16 | P a g e Báo cáo Tìm hiểu công cụ Selenium trong số các lựa chọn đó là Selenium Selenium là một công cụ kiểm thử tuyệt vời nhưng cũng có một số nhược điểm nghiêm trọng cần được khắc phục sớm Báo cáo đã trình bày một số hiểu biết cơ bản về Selenium cũng như một số kết quả ứng dụng Selenium trong thực tế... test case bằng Java và test dựa trên Junit và Selenium RC Trong tương lai , nhóm sẽ tiếp tục tìm hiểu thêm các chức năng của Selenium và nghiên cứu cách xây dựng các test-script bằng ngôn ngữ Java để tối ưu hơn khả năng của Selenium 17 | P a g e Báo cáo Tìm hiểu công cụ Selenium Tài liệu tham khảo: - http://docs.Seleniumhq.org/docs/ - http://code.google.com/p /Selenium/ - http://www.testingvn.com - Một... bằng Selenium Core - Tạo một file test case “Login_pass.html” như sau: 13 | P a g e Báo cáo Tìm hiểu công cụ Selenium - Và một file “Login_fail.html” : - Tạo một file test suite “TestSuite.html” : 14 | P a g e Báo cáo Tìm hiểu công cụ Selenium Lưu tất cả các file test case và test suite này vào thư mục tests của Selenium Core Mở trình duyệt Firefox để thử nghiệm bằng cách chạy file TestRunner.html trong... các công cụ unittest, Rspec, Junit tương ứng, và các thành phần khác của Selenium như WebDriver, Remote Control Hình 2.5 Export test case 10 | P a g e Báo cáo Tìm hiểu công cụ Selenium Chương 3: DEMO 3.1 Ứng dụng Selenium trong form login đơn giản Hình 3.1 Màn hình login Nhóm xây dựng một số đoạn mã đơn giản là form Login viết bằng HTML và Javascript nhằm mục đích thử nghiệm các chức năng của Selenium. .. record bằng Selenium IDE Thực hiện đăng nhập, xem video trực tuyến, sau đó ngừng record, lưu các test case và chạy lại Một số nhược điển rất lớn của Selenium IDE là không thể bắt được các tương tác của Flash, Sliverlight Selenium IDE cũng không ghi nhận tốt với những website sử dụng công nghệ ajax 15 | P a g e Báo cáo Tìm hiểu công cụ Selenium Chương 4: Đánh giá và tổng kết 4.1 Đánh giá chung  Selenium. .. Safari, Opera, Internet Explorer 3.1.1 Thử nghiệm bằng Selenium IDE - Tiến hành record lại một số thao tác: Nhập tên đăng nhập và mật khẩu hợp lệ (admin – admin) và submit Form đăng nhập thành công vào trang welcome, bôi đen dòng chữ “Hello Admin, Have a nice day!!” click chuột phải và chọn “assertText css=font Hello 11 | P a g e Báo cáo Tìm hiểu công cụ Selenium Admin, Have a nice day!!” để xác định phần... bộ công cụ rất gọn nhẹ, đơn giản, và dễ dàng cài đặt Là công cụ open source nên không cần lo lắng về vấn đề chi phí và bản quyền Selenium được các nhà phát triển không ngừng thay đổi để phù hợp với nhu cầu của các nhà phát triển ứng dụng trên nền web  Selenium IDE và Core đều có thể chạy trên mọi Platform như Windows, Linux hay Mac Đơn giản, trực quan, các câu lệnh khá đơn giản và dễ hiểu dễ học  Selenium. .. trái phía dưới danh sách các test case 9|Page Báo cáo Tìm hiểu công cụ Selenium 2.2.3 Test suite Khi đã có một hoặc một tập các test case ta cần tổng hợp chúng vào trong một test suite Test suite mặc định được viết theo ngôn ngữ HTML, là một bảng gồm một cột với ở mỗi cột là các test case Test case chỉ được liệt kê như một thành phần của test suite Ngoài ra, Selenium cũng cung cấp khả năng export test... tập trung vào Selenium IDE – Đây là công cụ phù hợp nhất cho những người mới bắt đầu và sinh các bộ test case và test suite cho việc test bằng Selenium Core Tuy nhiên , do hạn chế một số điều kiện như mới bắt đầu tập sử dụng test bằng công cụ , không có nhiều thời gian , số lượng người dùng nhất là ở Việt Nam còn ít , khả năng lập trình chưa tốt nên nhóm chưa thử nghiệm được Selenium RC và Selenium Grid... Admin”, dừng và lưu test case ta được bảng 12 | P a g e Báo cáo Tìm hiểu công cụ Selenium Command Target Value open /web/login.html type id=textName admin type id=textPass admin clickAndWait css=input.button assertText css=font click css=button assertAlert Hi, Admin Hello Admin, Have a nice day!! Lưu và chạy test case, chương trình chạy thành công - Tạo một file script test case đặt tên “Login.html” . Báo cáo Tìm hiểu công cụ Selenium 2 | P a g e Nhận xét của giảng viên Báo cáo Tìm hiểu công cụ Selenium 1 | P a g e Chương 1: Giới thiệu Selenium. “Login_pass.html” như sau: Báo cáo Tìm hiểu công cụ Selenium 14 | P a g e - Và một file “Login_fail.html” : - Tạo một file test suite “TestSuite.html” : Báo cáo Tìm hiểu công cụ Selenium 15. cài đặt thành công thì giao diện của Selenium Ide như hình: Báo cáo Tìm hiểu công cụ Selenium 6 | P a g e Hình 2.2. Giao diện của Selenium IDE Trên thanh công cụ của Selenium IDE có

Ngày đăng: 26/10/2014, 20:33

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan