Chương 4: Kiếm Thử Webstite Quản Lý Cửa Hàng Bán Cà Phê

Một phần của tài liệu Báo cáo môn học Đảm bảo chất lượng & kiểm thử phần mềm Đề tài kiểm thử website quản lý cửa hàng bán quần áo (Trang 49 - 54)

4.1 Công cụ kiểm thử tự động Selenium

4.1.1 Giới thiệu chung về Selenium

Selenium là một phần mềm mã nguồn mở - một công cụ kiểm thử phần mềm tự động để kiểm thử các ứng dụng trên nền Web. Năm ì004, Selenium được phát triển bởi ThoughtWorks với cái tên ban đầu avaScriptTestRunner.

Đến năm i007, tac gia, ason Huggins roi ThoughtWorks va gia nhap Selenium Team (thuộc Google), từ đó tiếp tục phát triển Selenium như hiện

4

nay.

Selenium không chỉ là một công cụ duy nhất mà là một bộ các công cụ giúp kiểm thử tự động các ứng dụng trên nền Web hiệu quả hơn, bao gồm 4 phân: Selenium IDE, Selenium RC, Selenium Grid, Selentum WebDriver.

Selenium IDE la mot cong cu cho phép chúng ta ghi lại một kịch ban va tái sử dụng kịch bản đó. Nó hoạt động như một Add-on cua trinh duyét Mozilla Firefox với giao điện trực quan, dễ sử dụng ngay cả với những kiểm thử viên không biết về code. Với Selenium IDE, chúng ta chỉ có thế ghi lại kịch bản (Record) trên trình duyệt Mozilla Firefox nhưng có thê tái sử dụng kịch bản này trên nhiều trình duyệt khác như Internet Explorer, Google Chrome, v.v.

Selenium RC cho phép các nhà phát triển tự động hóa quá trình kiểm thử bằng cách sử dụng bất kỳ ngôn ngữ lập trình nảo, phát huy tối đa thế

manh cua Selenium trong kiém thir don vi. Dé dé dang hon cho viéc kiém thir, Selenium RC cung cap các API và thư viện cho mỗi ngôn ngữ được hỗ tro: HTML, ava, Perl, PHP, Ruby, Python, C#.

Selenium WebDriver 1a phién ban kế nhiém cua Selenium RC. Cũng

giống như Selenium RC, Selenium WebDriver hỗ trợ viết kịch bán kiểm thử

bằng các ngôn ngữ khác nhau như ava, .NET, PHP, Python, Perl, Ruby và

kiểm thử viên có thê sử dụng các điều kiện ¡f, else hay các vòng lặp để tăng tính chính xác cho kịch bản kiêm thử. Selenium WebDriver có kiến trúc khá đơn gián, điều khiến trình duyệt trực tiếp từ hệ điều hành.

Selenium Grid là một hệ thống hỗ trợ kiểm thử viên thực thi kịch bản kiêm thử trên nhiều máy, nhiều trình duyệt một cách song song mà không cần chỉnh sửa kịch bán kiêm thử. Ban đầu, Selenium Grid chỉ hỗ trợ cho

43

Selenium RC nhung sau nay da xuất hiện trên ca Selenium WebDriver.

Selenium Grid cho phép kiểm thử viên thực thi ca kiếm thử trên nhiều máy

khác nhau với nhiều trình duyét khac nhau. Dac biét hon, Selenium Grid con

cung cấp khả năng kiểm thử với chế độ phân tán.

Do thời gian nghiên cứu hạn chế nên đô án chỉ trình bày về một phần của bộ công cụ Selenium là Selenium IDE. Đây cũng là công cụ được sử dụng phổ biến hiện nay trong việc kiểm thử các dự án phát triển ứng dụng Web bởi giao điện trực quan, đễ sử dụng và khả năng ghi/phát lại các ca kiểm thử một cách linh động của nó.

4.2 Thực nghiệm Selenium

> Kiểm thử form Login

Khi đăng nhập tài khoản tại website http:/localhost:4i00/login, người dùng được yêu cầu nhập vào: User Name, Password. Khi người dùng nhập thiếu một trong các thông tin trên, nhập tên tài khoản hay nhập mật khâu không hợp lệ, hệ thống sẽ đưa ra thông báo cụ thể cho từng trường hợp.

44

1S cciine-wortapace - Selenium TưosAal/vc/avfomalow. ~ OQ X

| file Edit Source Reactor Navigate Search Project fun Window

D Empicycedtanagerent x °

= C © bocathostA200/login x @

ae mẽ. See ee ero s¥as

a sie 5 -o ce

Chưcme being controlled by automated test softmare

CN U00. ura Š lu. mm } Bmueeuei

eo .. ' public vole Beforetedt Systen.act.priatia(-meset gi các

} @Aftermethod public void Atertethod() &

Systes.out. erin Yết thúc Hetho

5

Login Account

———

malic vole Firsttethod() ( sult for(int 1 8, length = Histtestcase

Lement 20)

wedi lement = driver. indElemenk(Đy web€lenent .sendkeys(listTestCase.g

ae e web£leseet = driver. findE Lement (By

web£leseet,c1ick();

—= 5 Thread. sieep(2000) ;

— 2 String lecs1AL ô ộriver.getcurren

en A Clocolum .equels(“http: //localho

“Tên Người Ding phái từ 5 16 kí tự ! 2 System.ewt.pcirtÌn(“Đăng Nhập

resaltrn cTest Case â ô (Hed)

" mebElement = driver. findEl eben chick kÓ;

Regster

driver. findElement ( 3 String test = web€lement .getText()

A¢(webE Lemont .getCssvalue (“di splay 7 2 '5ystem.ewt.pertÌn(test); resultes “Test Case * + (401)

} Jeateh(Exception ©) {

Wrdabke ‘Smart Insert 45.05) ...

Hình 12 Niễm thứ tự động form login bằng Seleniuim

e le Sewce Refactor Navigate Segrch Project fun Window Help

ae Diver TR HG SHOP AVR HO HOOT Or lel a’

* 3fndageE. x ^ /ledawjsa Wi ListTestCasejave Íf Mhinjava x ÍfMan2js.a (Reg I) Resutttemtoginnet - Notepad n x /Ð GGaele x L...-...-

a 3 Fee for Format Wow Help Uriver into! of. 08040) selemiumrchrene nromuriver ch

@acforemethod flest Case a: lập Thành CôngTest Case 2: Thông t + Capi ities (are ationtnabledafalse im tiaeosts~la

public void Ref 3 thông,

Foreesthe4() ( System.out.printin("Reset gilt

>

Gar terte!

public vole Atertethod Syston. oot. printin( YẾt thức Method ý

Publỳe voỏ# FirstMethod() ( for(int {= 0, length _ String result = * eneth a UistTertcese. gut ist ô 1istTestCsse.getList().sze()ý sie Thụng tớn tài khoản hoặc nặt khấu khụng chớnh xỏc a

nai = driver. findt Lewes Kết thúc Hethod webllement . sendKeys (14s+ĩ: cones NA t0 weet

Thread. seep{2008); scbElenent = diver náElceenl(fy- 14C pess Ouene x EiYVNe$E^Đ

55 ac Leen -seney(Listestts

i TINH

mites”

eae, finde lence (Oy. xpath webELement .cLick();

67 webElement = driver.findE lesent (By. id("alert -error®

68 String test = web€lesent..getText();

69 {¢(wob Element .getCssValue ("display") .equals ("blockt

ystae.se. println(tsst)) 100% Unix ure

r2 resultes “Test Case" + (iel) ¢ T: Ð + test +

race s(

ảntìn(“lỗi chạy test case “+ e.getMessage());

7 driver navigate().refresh(); ự }

writable Smart insert e128

Hình 13. Kết quả kiêm thử tự động form login

> Kiểm thử form Register

Khi đăng ký tài khoản tại website http://localhost:4i100/register, người dùng được yêu cầu nhập vào: User Name, Password, Full Name, Phone,

45

Email. Khi người dùng nhập thiếu một trong các thông tin trên, nhập tên tài khoản đã được sử dụng hay nhập mật khâu không hợp lệ hay các trường còn lại không hợp lệ, hệ thống sẽ đưa ra thông báo cụ thể cho từng trường hợp.

- o x =

yweManagemen x e° le Éc ef Na " `,

‹ € @ loahot20/2gite 4 ae er và vcgoces2ce9 4w 3

ơ.r ..- aisle

+ PP. /1eecasjsve ý Maimjave. 'Ð Maing và x 7ì a a

TRes : pater er. - § .x

Seer a jeatah{uacaption e) systen-ovt.printla("IBi dpe #1 a

- -= } £

public void BeforwMedthod() ( oe rectal gia cl e- JR

Sài =

nghianghia12 + | P : nate se Atertethod ọ { cantina DỤ. [re

rta= a> Test {Te

v public void FirstMethod() { (Te

amt e | = String result ~ (Tey

On neta &

0838147512 ©S :

ve

nghianghia123(0gmal.com a

'Một khấu phải từ 4-12 kí tự thường và có ít nhất 1 số và 1 kí winhos

ý

mm... : =— — 5

a czeng :

2 5

Hình 14. Kiêm thử tr dong form register bang Selenium

=

®ý ve PARE 09v vtCGc2CG 3c v|9 ia

—_— = #Msnjsa #Man2jsvs x Ul Regiterjave i — teers ied O x |B SComole sonnei say 2 a x Cu... cà.

fest Cave 1 ing by than in Wat thế phi ý 12 í Qhtre vb ob {oh 2 wt

ý Test Case 2: Mật khấu phải t oa ity et Node peal tread Kd te thường và có Ít nhất 1 số và

thgort . testng. annotations. Test; Test Case 3: Mật khấu phải từ 4-12 kí tự Một Khá; là bất buộc!

Test Case 4: Mật khấu Í từ 4-12 kí tự Tên không hợp lệ

(2 UsthegisterT iy smgor€ com.googie.gson.Gson; Test Case 5: Mgt Khẩu phải tữ 4-12 kí tự | 2 UsttestCase, 19 Tost Caso 6: Mật khấu phải từ 4-12 kí tự đã cói Mây thứ tên khác ! i Man. aaa puhlic class Hain2 ( Csscngloarhes shogLstintns =m isstagaetaresngy;, Test Case 7: Mật khấu phải từ Test (O00 7! MAC Me hl aaa Ki ty 4-12 kí tự

3 Repstetjaa kếDeen chốc Test Case 9: Một khẩu phải từ 4-12 kí tự

|À 1edtcaee,.e ve ~ 19: Một khẩu phải từ 4-12 kí tự

BH CN. NA Test Case 22: ngôi đo với 062m sự

"` ‘System. setProperty("webdriver. chreee.đeưer”, ^0:\\chroeedrivee, TeSt Case 12: Mặt khẩu Lee 2 4-12 kí tự ty đã cói Hãy thử tên khác Ì 4 3£lenlur servet Griver = nes ChromeOriver(); Test Case 13: Phone sai cú ip! là cói Hãy thứ tên khác | đ Griver .grt(“htty://locelhost:4200/register"); Test Case 14: mặt khẩu phải % 4-12 kí tự Mặt khấu mái từ 4-12 kí tự thường và có ít nhất 1 số và

Gros gror © mew Gwem(); Vest Case 15: Email sai cú pháp! "`" sai

HH: tốt lon 22) xe ế ni ty +2: kí Ty NT bốc 2g Sa: dong cà dị ch 3 số d

thds.llstReelsterTres. = cxotfrue)son(aev Fileteader(eew FL test Case 17: Phone sai củ phẩp! HộC khẩo phải từ a-12 Ed ty thuding vb c6 ít shức 1 số và

2 Jeaten(Except ){ 5 ă Test Case 18 hấu. Loo fe! 4-12 kí tự =

: Systen-evt print nC" doc fe “+ espeessageO); Test Case 19: Email sai củ FE Owiine x Beauvevice

: ) Test Cast Mật khẩu phi aa Me 4-12 kí tự py

tooldo voád Befordtedthed{) Test Case 22: Mật khẩu phải Ký 4-12 kí tự : ‘

ụ Systen.out.printIn("Reset giữn cỏc method"); Test Case 23: Bột khẩu phải từ 4-12 kớ tự ằ đức

> Test Case 24: Một phải từ 4-12 kí v 7 =

ÊAfterHetk Test Case 25: Mit khán phải từ 4-12 kí tt ra wo a

void Aterttethod() { Test khấu phải từ 4-12 kí t a ee

2 ‘System.eut.printIn("Két thic Method”); Test Email sai củ pháp! $ BefoxeMe®rhodQ

` † Test hái từ 4-12 kí tự ® .MaNWsI0: sex

est khẩu từ 4 t © fm .

ss palie ose arsenal) ( = rete ces Sea Ee © Coeelest? : vod

a mi length = ListRegisterttes. getList().size();i <1 Us1,Col? 100% Unie AF une Sun

webtlement ô driver.findtlem (*//irpu* [cortairs (#34, "userwame"3]°)); - par tren 00201100)! not, ssndiystlictiagisbertton THÁO get(i).getisertiame());

2 .ebfElemewt = driver.findElesent(By.xpoth{(*//input[c 3 (Bid, ‘pessword"))*));

webt lement a aan eetList(. eet. ù -eetPesssrd()?

= aa asa

46

Hình 15. Kết quả kiểm thử tự động form register

Một phần của tài liệu Báo cáo môn học Đảm bảo chất lượng & kiểm thử phần mềm Đề tài kiểm thử website quản lý cửa hàng bán quần áo (Trang 49 - 54)

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

(56 trang)