Chạy các kịch bản kiểm thử Selenium IDE với Selenium Remote Control 38

Một phần của tài liệu KIỂM THỬ TỰ ĐỘNG ỨNG DỤNG WEB (Trang 49)

3.3. Selenium Remote Control (Selenium RC) 35

3.3.3.1. Chạy các kịch bản kiểm thử Selenium IDE với Selenium Remote Control 38

Để chạy các kịch bản kiểm thử Selenium trên Selenium RC chúng ta phải sử d ng biến –htmlsuite. Biến này gọi Selenium để m Test Suite mà chúng ta đư tạo ra. Sau đó chúng ta cần xác định vị trí c a Test Suite và vị trí l u kết quả. Các lệnh chạy trong Command Prompt sẽ t ơng tựnh d ới:

Java –jar selenium- server-standalone.jar –htmlsuite “*firefox” http://mail.viettel.com.vn

“E:\Testcase_SEIDE\testdangnhap1.html” “E:\Testcase_SEIDE\result.html”

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

Các b ớc thực hiện:

- B ớc 1: M Command Prompt. - B ớc 2: Chạy câu lệnh sau:

Hình 3.11: Chạy kịch bản kiểm thử Selenium IDE trên Selenium RC

Trong ví d , chúng ta đặt test case tại th m c E:\Testcase_SEIDE. L u Ủ :

- Khi chạy câu lệnh chúng ta nên gõ trực tiếp câu lệnh vào command prompt mà không nên gõ ra ord và copy paste vì đơi khi làm nh vậy sẽ xảy ra lỗi vì các bộ gõ khơng giống nhau.

- Khi chạy lệnh trên không cần phải chạy Selenium-server tr ớc đó, vì lệnh này ch a cả phần kh i động Selenium-server.

Khi việc kiểm thử bắt đầu tiến hành, nó sẽ đ a đến hai cửa sổ trình duyệt. Cửa sổ đầu tiên giữ Selenium Core Framework với Test Suite bên phía tay trái, các b ớc kiểm thử phía trung tâm, và kết quả bên tay phải, t ơng tự nh hình d ới:

Hình 3.12: Chạy kịch bản kiểm thử Selenium IDE trên Selenium RC

Sử d ng biến –htmlsuite, chúng ta điều khiển chạy các kịch bản kiểm thử Selenium IDE bằng Selenium Remote Control. Trong tr ng hợp này, chúng ta sử d ng Firefox để chạy các kịch bản kiểm thử Selenium IDE. Lệnh đư kh i động Firefox và tải URL c a ng d ng cần kiểm tra. Nó sẽ tải Test Suite c a chúng ta và biết đ ợc nơi để l u kết quả khi việc kiểm thử kết thúc.

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

- L u Ủ: Để chạy các kịch bản kiểm thử Selenium IDE trên các trình duyệt khác, chúng ta chỉ cần chỉnh sửa câu lệnh trên bằng việc thay *firefox bằng mã c a trình duyệt mà chúng ta muốn thực thi kiểm thử trên đó và thực hiện các b ớc giống nh trong Mozilla Firefox. Một số trình duyệt phổ biến:  *chrome  *iexploreproxy  *iexplore  *firefox3  *safariproxy  *googlechrome  *konqueror  *firefox2  *safari  *piiexplorep  *firefoxchrome  *opera  *iehta  *custom

3.3.3.2. Tạo một kịch bản kiểm thử mới với ngơn ngữ lập trình Java và Eclipse

Phần này c a đồ án trình bày các b ớc để tạo một kịch bản kiểm thử Selenium RC chạy bằng hàm main với ngôn ngữ lập trình Java và bằng IDE Eclipse:

- B ớc 1: Kh i động Eclipse và tạo một project mới. Việc này đ ợc thực hiện bằng cách vào File -> New -> Project -> Java -> Java Project -> Next -> Điền Project name -> Finish

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

Ta đặt tên project mới là First.

- B ớc 2: Nhập các th viện Selenium vào Project, nh đó chúng ta có thể thực thi các lệnh Selenium trên Eclipse. Các b ớc để làm việc này:

 Click chuột phải vào folder “First”, chọn Properties  Click vào m c Java Build Path

 Chọn tab Libraries  Chọn Add External JARs

 Tìm và chọn file selenium- server-standalone-2.25.0.jar và selenium-java.jar  Click Open-> OK

Hình 3.14 : Thêm các file jar vào thư viện

- B ớc 3: Tạo một lớp mới trong Project. Các b ớc thực hiện b ớc này: Chọn First -> New -> Class -> OK

Đặt tên lớp c a là MySelenium.

Ví d với test case kiểm thử việc đăng nhập vào trang email c a Viettel, có url là https://mail.viettel.com.vn, bằng trình duyệt firefox, dữ liệu đầu vào username trangnh7, pass ord meo@Dien07, test case Selenium RC đ ợc viết bằng ngôn ngữ Java sẽ nh sau:

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium import com.thoughtworks.selenium.Selenium;

import com.thoughtworks.selenium.DefaultSelenium;

// Import Selenium

public class MySelenium {

static Selenium browser;

public static void main(String agr[])

{ // Khai báo một biến Selenium có tên Browser

browser=ne w DefaultSelenium("localhost",4444,"*iexplore","http://mail.viettel.com.vn"); browser.start(); // Lệnh bắt đầu Selenium // Các lệnh Selenese browser.open("/"); browser.type("user","trangnh7"); browser.type("password", "meo@Dien07"); browser.click("button"); browser.waitForPageToLoad("30000"); browser.close(); // Lệnh đóng } }

Hình 3.15: Mẫu test case Selenium RC

Các tham sốđ ợc yêu cầu với một biến có dạng DefaultSelenium bao gồm:  Host: Thông th ng giống với máy tính chạy máy khách, trong tr ng hợp đó

localhost đ ợc thơng qua. Với một sốmáy khách thì đây là một tham số tùy chọn.  Port: Xác định socket TCP/IP tại điểm máy ch nghe và đợi máy khách thiết lập kết

nối. Tham sốnày cũng tùy chọn với một số driver c a máy khách.  Browser: Trình duyệt đ ợc sử d ng để chạy kịch bản kiểm thử.  url: URL c a ng d ng đ ợc kiểm thử.

- B ớc 4: Chạy kịch bản kiểm thử vừa tạo.

 Để chạy kịch bản kiểm thử vừa tạo, tr ớc tiên ta phải chạy Server c a Selenium nh đư nói phần trên.

 Sau khi chạy Server, ta tiến hành chạy file kịch bản kiểm thử vừa tạo bằng cách chuột phải vào lớp -> Run As ->Java Application.

- B ớc 5: Xem kết quả. Sau khi chạy kịch bản kiểm thử. Trang web sẽ đ ợc tải và thực thi các b ớc nh trong kịch bản kiểm thử.

3.3.3.3. Dịch một kịch bản kiểm thử Selenium IDE thành kịch bản kiểm thử Selenium RC

Phần này c a đồ án trình bày cách dịch một test case Selenium IDE sang một test case Selenium RC d ới dạng một lớp Java và dựa trên JUnit framework.

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

Trong phạm vi đồ án, chúng ta sẽ không đi sâu vào Junit mà chỉ giới thiệu sơ qua về công c này. JUnit là một framework dùng cho kiểm thửđơn vị tựđộng trong Java, đ ợc phát triển b i Erich Gamma và Kent Beck. Việc cài đặt Junit cũng hết s c đơn giản. Chúng ta chỉ cần download Junit từ trang http://www.junit.org , trong đồ án này chúng ta sẽ sử d ng JUnit 4. Sau khi download file jar về, ta add nó vào project c a chúng ta giống nh phần h ớng dẫn add Selenium đư nêu chi tiết phần 3.2.

Để dịch một kịch bản kiểm thử Selenium IDE thành một kịch bản kiểm thử Selenium RC ta cần thực hiện một sốb ớc nh sau:

- B ớc 1: M test case Selenium IDE muốn dịch. Ví d ta muốn dịch test case có tên testdangnhap1.html đư đ ợc tạo tr ớc đó sang testcase Selenium RC.

Bật trình duyệt firefox -> M Selenium IDE -> Chọn Tập tin -> Open -> Chọn tập tin muốn dịch sang Selenium RC-> Open

- B ớc 2: Export test case Selenium IDE sang test case Selenium RC d ới dạng ngơn ngữ lập trình Java và dựa trên framework Junit 4

Chọn Tập tin -> Export Test Case As -> Java/JUnit 4/ Remote Control - >Save As l u tên tập tin là dangnhapJUnit4.java

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

Test Case đ ợc dịch có dạng nh mư nguồn d ới đây:

import com.thoughtworks.selenium.*; import org.junit.After;

import org.junit.Before; import org.junit.Test;

import java.util.regex.Pattern; public class dangnhapJunit4 {

public Selenium selenium;

@Before

public void setUp() throws Exception {

selenium = ne w DefaultSelenium("localhost", 4444, "*googlechrome", "https://mail.viettel.com.vn/");

selenium.start(); }

@Test

public void testDangnhapjunit4() throws Exception {

selenium.open("/"); selenium.type("name=user", "trangnh7"); selenium.type("name=password", "meo@Dien07"); selenium.click("id=button"); selenium.waitForPageToLoad("30000"); } @After

public void tearDown() throws Exception {

selenium.stop(); }

}

Hình 3.17: Test Case Selenium Remote Control được export từ test case Selenium IDE

- B ớc 3: Thêm tập tin vào Project - B ớc 4: Chạy test case.

 Chuột phải -> Run As -> JUnit Test

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

Hình 3.18 : Kết quả chạy test case trên Junit 4 3.3.3.4. Báo cáo kết quả kiểm thử

Selenium RC khơng có cơ chế tự báo cáo kết quả kiểm thử. Nh ng nó cho phép xây dựng báo cáo theo các đặc điểm c a ngơn ngữ lập trình. Chúng ta có thể sử d ng các framework kiểm thử c a các ngôn ngữ lập trình để xuất báo cáo. Trong Java có hai frame ork th ng đ ợc sử d ng là Junit và TestNG.

Phần này c a đồ án trình bày các b ớc để xuất một báo kiểm thử trong Eclipse dựa trên framework Junit. D ới đây là các b ớc cần thực hiện:

- B ớc 1: Chuột phải vào Project -> Click Export -> Chọn folder General -> Chọn Ant Buildfiles.

- B ớc 2: Chọn Project, điền thông tin th m c l u báo cáo vào textfield JUnit output directory -> Finish

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

Sau khi click finish, file build.xml sẽđ ợc tạo trong Project First. - B ớc 3: Thêm file junit.jar vào Global Entries c a Ant:

Click Window -> Chọn Preferences -> Expand Ant -> Click Runtime -> Chọn tab

Classpath -> Expand Global Entries -> Click Add External JARs -> Vào th m c cài đặt Eclipse E:\eclipse\eclipse\plugins\org.junit_3.8.2.v3_8_2_v20100427-1100 chọn junit.jar -> Open

Hình 3.20: Thêm file junit.jar vào Global Entries của Ant

- B ớc 4: Chuột phải vào file build.html -> Chọn Run As -> Ant Build… -> Hiển thị cửa sổ Edit Configuration and launch -> Check vào các checkbox build, các testcase muốn chạy và junitreport -> Click nút Run.

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

b ớc này, l u Ủ việc sắp xếp sao cho Eclipse thực thi junitreport cuối cùng để tránh báo cáo thiếu tr ng hợp.

Sau khi click nút Run, ch ơng trình sẽ thực hiện chạy các test case đ ợc chọn, và xuất báo cáo vào th m c đ ợc nhập vào tại b ớc tạo file build.xml.

- B ớc 5: Xem báo cáo kiểm thử. Tr ớc khi xem báo cáo kiểm thử, ta cần refresh lại project. Vào th m c đ ợc chọn để l u báo cáo, m file index. Báo cáo sẽ có dạng nh hình:

Hình 3.22: Mẫu báo cáo kết quả kiểm thử Selenium dựa trên JUnit

Ngồi ra báo cáo cịn hỗ trợ tìm ra nguyên nhân test case bị thất bại bằng cách click vào lớp c a test case.

3.4. T ng k t ch ng 3

Ch ơng 3 c a đồ án đư giới thiệu đ ợc về công c kiểm thử phần mềm Selenium và đư nêu đ ợc những đặc điểm và cách sử d ng c a hai bộ công c cơ bản và phổ biến là Selenium IDE và Selenium RC. Các nội dung c thểđư đ ợc làm rõ trong ch ơng 3 bao gồm: - Tổng quan về Selenium: Giới thiệu những nét chính về nguồn gốc, quá trình phát triển và

các thành phần cơ bản c a Selenium.

- Selenium IDE: Trình bày đ ợc phạm vi ng d ng, cách cài đặt, cách sử d ng c a Selenium IDE.

- Selenium Remote Control: Trình bày về các thành phần c a Selenium RC, cách cài đặt và cách sử d ng một số ch c năng c a Selenium RC.

Từ những kiến th c tìm hiểu đ ợc trong nội dung ch ơng, em rút ra đ ợc một sốđánh giá với Selenium nh sau:

- Những u điểm chung Selenium:

 Selenium là bộ công c mã nguồn m , do vậy mà nó hồn tồn miễn phí.

 Selenium hỗ trợ nhiều ngơn ngữ lập trình nh Java, C#, Python… và kết hợp đ ợc với nhiều framework kiểm thửnh JUnit, NUnit, TestNG…

 Selenium hỗ trợ kiểm thử trên rất nhiều trình duyệt eb nh Firefox, Googlechrome, Internet Explore…

Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium

 Hỗ trợ gỡ lỗi

- Những nh ợc điểm chung c a Selenium:

 Nh ợc điểm lớn nhất c a Selenium là nó chỉ tích hợp với các hệ thống phát triển dựa trên các nền tảng eb, vì lỦ do đó mà nó khơng thể sử d ng để kiểm thử các phần mềm ng d ng khác.

 Selenium không thể thực hiện kiểm thử nếu bản thân nó khơng nhận biết đ ợc đối t ợng.

 Những hỗ trợđ ợc cung cấp cho Selenium khá ít nh việc Selenium khơng hỗ trợ việc xuất báo cáo kiểm thử mà ta phải làm điều đó dựa vào các framework kiểm thử khác.  Khó chuẩn đốn những lỗi mới phát sinh.

Đ ÁN T T NGHI P Đ I H C Ch ng 4: Th nghi m

CH NG 4: TH NGHI M

4.1. BƠi toán th nghi m

- Vấn đề đặt ra là kiểm thử hai ch c năng cơ bản cho ng d ng web email c a tập đoàn viễn thông quân đội Viettel là ch c năng đăng nhập và ch c năng soạn thảo và gửi email. - Link ng d ng: https://mail.viettel.com.vn

- ng d ng đ ợc kiểm thử trên 3 trình duyệt: Mozilla Firefox, Internet Explore, Googlechrome.

- Ch c năng đăng nhập: Ch c năng này là một ch c năng đăng nhập thuần túy vào các ng d ng eb thông th ng giống nh các ng d ng khác nh yahoo, google, các forum. Các yếu tố cần kiểm tra:

 Nếu đăng nhập đúng tên và mật khẩu thì tải đến trang ch c a ng d ng email.

 Nếu đăng nhập sai tên hoặc mật khẩu thì đ a ra thơng báo: “Tên đăng nhập hoặc mật khẩu đăng nhập không đúng”.

 Nếu nhập thiếu tên đăng nhập thì đ a ra thơng báo: “Bạn phải nhập tên đăng nhập”.  Nếu nhập thiếu mật khẩu thì đ a ra thơng báo: “Bạn phải nhập mật khẩu”.

- Ch c năng gửi email: ng d ng email c a Viettel có hai đặc điểm đặc tr ng tạo nên sự khác biệt khi viết kịch bản kiểm thử ch c năng này so với các ng d ng email khác là:  Email Viettel là email nội bộ, chỉ cho phép gửi và nhận email giữa các địa chỉ nội bộ,

nghĩa là các địa chỉ có phần m rộng là @viettel.com.vn, ví d : trangnh7@viettel.com.vn. Các địa chỉ email có phần m rộng khác nh địa chỉ email c a google hay yahoo thì ng d ng sẽ khơng thể gửi email đến cũng nh không thể nhận email từcác địa chỉđó.

 Email Viettel cũng cho phép ghi địa chỉ email mà không điền phần m rộng, ví d muốn gửi th đến địa chỉ email trangnh7@viettel.com.vn chúng ta cũng có thể cần điền trangnh7 vào địa chỉ gửi đi, ng d ng vẫn hiểu đ ợc địa chỉ email mà ng i gửi muốn gửi email đến là trangnh7@viettel.com.vn.

ng d ng email c a Viettel cũng có những đặc điểm chung giống nh các ng d ng email khác, và các yếu tố chính cần kiểm tra là:

 Kiểm tra gửi email tới một hoặc nhiều địa chỉ hợp lệ thành công  Kiểm tra hoạt động c a các ch c năng gửi Cc/ Bcc

 Kiểm tra gửi email báo lỗi khi gửi email đến một địa chỉ không phải địa chỉ email nội bộ, đồng th i kiểm tra tại địa chỉ email nhận cũng không nhận đ ợc email đư gửi  Kiểm tra ch c năng attack file

4.2. S khác nhau gi a k ch b n ki m th t đ ng vƠ k ch b n ki m th th công

Tr ớc khi thực hiện kiểm thử ng d ng, cần phải nói thêm về sự khác nhau giữa một kịch bản kiểm thử th công và một kịch bản kiểm thử tựđộng.

Với kiểm thử th công, kịch bản kiểm thử ch c năng thông th ng đ ợc chia thành ba phần chính:

- Phần giao diện - Phần ch c năng

Một phần của tài liệu KIỂM THỬ TỰ ĐỘNG ỨNG DỤNG WEB (Trang 49)

Tải bản đầy đủ (PDF)

(72 trang)