1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Đồ án kiểm thử và Đảm bảo chất lượng phần mềm Đề tài selenium client api

25 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Selenium Client Api
Tác giả Nguyễn Đức Tư, Phan Tiến Huy
Người hướng dẫn ThS. Trịnh Công Nhựt
Trường học Trường Đại Học Công Nghệ TP. HCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 25
Dung lượng 2,59 MB

Nội dung

Trịnh Công Nhựt, giảng viên bộ mônhọc kiểm thử và đảm bảo chất lượng phần mềm - Đại học Công Nghệ Tp.HCM, thầy đã tậntình hướng dẫn, chỉ bảo chúng em trong suốt quá trình học tập và làm

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCMKHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM

Đề tài: SELENIUM CLIENT API

Website kiểm thử: https://30shine.com/

Giảng viên hướng dẫn: ThS Trịnh Công Nhựt

Sinh viên thực hiện:

TP Hồ Chí Minh, 10/2022

Trang 2

Mục Lục

MỤC LỤC HÌNH 2

LỜI NÓI ĐẦU 3

CHƯƠNG 1: SELENIUM CLIENT API 4

1.1 Giới thiệu 4

1.1.1 Selenium Client API Là Gì ? 4

1.1.2 Selenium IDE và Selenium WebDriver 4

1.1.3 REST API TESTING 5

1.1.4 Những hạn chế của Selenium 5

1.2 Cài đặt (link download, hướng dẫn cài đặt) 5

1.3 Hướng dẫn sử dụng và các tính năng 6

1.3.1 Hướng Dẫn Sử Dụng 6

1.3.2 Các Tính năng 8

1.4 Minh họa (demo) 10

CHƯƠNG 2: TEST CASES 13

2.1 Giới thiệu Selenium IDE 13

2.2 Tóm tắt test case (Tiếng việt / Tiếng anh): 15

2.3 Chi tiết Test case: 16

2.4 Thống kê các lỗi tìm được: 21

CHƯƠNG 3: KẾT LUẬN 22

TÀI LIỆU THAM KHẢO 23

1

Trang 3

MỤC LỤC HÌNH

Hình 1: API ứng dụng khách Selenium WebDriver cho các nhà phát triển chương trình

Selenium WebDriver 4

Hình 2: selenium-webdriver 6

Hình 3: Cài đặt selenium- webdriver thành công 6

Hình 4:Hàm tự động nhập dữ liệu và create POST Request lên api 7

Hình 5: Hàm gửi Request POST lên api 7

Hình 6: Hàm tự động tìm kiếm GET Request api user id=3 7

Hình 7: Web driver 8

Hình 8: Cộng đồng Selenium 8

Hình 9: Web Driver API 9

2

Trang 4

LỜI NÓI ĐẦU

Trong quá trình học tập và làm đồ án, nhóm em đã nhận được nhiều sự giúp đỡ, đóng góp

ý kiến và chỉ bảo nhiệt tình của thầy ThS Trịnh Công Nhựt

Em xin gửi lời cảm ơn chân thành đến thầy ThS Trịnh Công Nhựt, giảng viên bộ mônhọc kiểm thử và đảm bảo chất lượng phần mềm - Đại học Công Nghệ Tp.HCM, thầy đã tậntình hướng dẫn, chỉ bảo chúng em trong suốt quá trình học tập và làm đồ án môn học và nhóm

em cảm ơn thầy một lần nữa đã hướng dẫn, dạy dỗ cho tụi em kiến thức mới mẻ giúp em cóđược cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập.Mặc dù đã cố gắng hoàn thành đề tài tốt nhất nhưng do thời gian và kiến thức còn có hạnnên tụi em sẽ không thể tránh khỏi những thiếu sót nhất định, rất mong nhận được sự cảmthông và chia sẻ và tận tình đóng góp chỉ bảo của quý thầy cô cũng như các bạn

3

Trang 5

CHƯƠNG 1: SELENIUM CLIENT API

1.1.1 Selenium Client API Là Gì ?

Selenium WebDriver Client APIs là các thư viện hoặc mô-đun được cung cấp bởiSelenium Org cho phép truy cập các giao diện giao tiếp WebDriver từ các ứng dụng kháchbằng các ngôn ngữ lập trình khác nhau

Selenium WebDriver Client APIs còn được gọi là "Selenium Client & WebDriverLanguage Bindings" Hiện tại, 5 API được cung cấp để hỗ trợ 5 ngôn ngữ lập trình: Java, C #,Ruby, Python và JavaScript

Các API ứng dụng khách WebDriver cho các ngôn ngữ khác cũng có sẵn Nhưng chúngđược cung cấp bởi bên thứ ba

Bên dưới cho bạn thấy cách sử dụng các API ứng dụng khách Selenium WebDriver chocác nhà phát triển chương trình Selenium WebDriver để truy cập và kiểm soát các trình duyệtWeb

Hình 1: API ứng dụng khách Selenium WebDriver cho các nhà phát triển chương trình Selenium WebDriver

1.1.2 Selenium IDE và Selenium WebDriver

Selenium IDE là một FrameWork Selenium IDE chỉ nên được sử dụng như là một công

cụ tạo mẫu Nếu bạn muốn tạo các trường hợp kiểm thử nâng cao hơn, bạn sẽ cần phải sử dụngSelenium RC hoặc WebDriver

4

Trang 6

Selenium WebDriver là một automation FrameWork dành cho web, với WebDriver bạn cốthể thực hiện các phiên bản kiểm thử của mình trên các trình duyệt khác nhau WebDriver sẽcung cấp công cụ hỗ trợ bạn tốt hơn trong việc cooding để tạo test scripts.

Rest API testing thực hiện 1 trong các request: GET / POST / PUT / PATCH / DELETEGET được sử dụng để lấy thông tin từ back end và hiển thị trên UI

POST được sử dụng để thêm thông tin vào back end

PUT được sử dụng để update/replace bất cứ thông tin gì đã tồn tại

Không giống như một số automation testing tools hỗ trợ IDE, với Selenium bạn phải

bỏ nhiều thời gian để học và viết test case

(Selenium WebDriver là tool được sử dụng nhiều nhất trong bộ Selenium, tuy nhiên thì

nó không hỗ trợ IDE như Selenium IDE, nên bắt buộc chúng ta phải viết step by stepcho mỗi test case)

Nếu không sử dụng các framework có sẵn như WebdriverIO, Jasmine, thì việc cài đặtSelenium rất phức tạp vì nó sử dụng các công cụ và plugin khác nhau để hỗ trợautomation testing Và chúng ta cần phải cấu hình chúng một cách thủ công

Ít hỗ trợ cho Image Testing Với Selenium, để có thể kiểm chứng hình ảnh một cáchchính xác, bạn cần phải kết hợp với một third-party software như Sikuli hoặc OpenCVKhông hỗ trợ built-in reporting Tuy nhiên, bạn có thể sử dụng một số reporting librarynhư Allure Reporting, junit reporting,…

1.2 Cài đặt (link download, hướng dẫn cài đặt)

Link download: https://www.npmjs.com/

B1 Vào trang: https://www.npmjs.com/

B2 Tìm kiếm Từ khóa: selenium-webdriver

5

Trang 7

B3 Click chọn vào: selenium-webdriver.

Hình 2: selenium-webdriver

B4 Mở terminal

B5 Chạy lệnh: npm install selenium-webdriver

Hình 3: Cài đặt selenium- webdriver thành công

Những lệnh cơ bản:

- findElement(): lấy giá trị của các thẻ html sử dụng

- sendkeys(); Nhập giá trị cho các ô với

6

Trang 8

- submit(); Submit dữ liệu

Điều hướng trình duyệt sử dụng:

- navigate().get(“URL”):Để điều hướng đến một trang web

- navigate().refresh(): Refresh trang

- ImplicitlyWait(): Để chờ các cảnh báo (statements)

- FluentWait(): Để xác định tối đa mức thời gian để chờ một điều khiển thực thi

- pageLoadTimeout(): Set thời gian load timeout cho một trang

- setScriptTimeout(): Set thời gian load timeout cho điều khiển javascript

- navigate().clear() :Xóa nội dung khỏi input box

- navigate().close():Đóng trình duyệt hiện tại và các liên kết đến driver

Ví Dụ: Thêm 1 khóa học mới có id là 7, title là khóa học từ xa, author là khóa học của tôixuất bản năm 2022

Hình 4:Hàm tự động nhập dữ liệu và create POST Request lên api

Hình 5: Hàm gửi Request POST lên api

Hình 6: Hàm tự động tìm kiếm GET Request api user id=3

7

Trang 9

Một số tính năng nổi bật chung:

- Hỗ trợ ngôn ngữ như lập trình: Java, .Net, Java, C#, PHP, Pearl, Ruby, Python,javascript

- Hỗ trợ trên nhiều hệ điều hành: MacOS, Linux, Windows và UNIX

- Selenium giả lập thao tác người dùng trên web page và các web element

- Có thể verify và so sánh thông tin trên web page

- Script đc base theo HTML, học dễ và ứng dụng cũng rất nhanh

- Có thể tạo một bộ test bao gồm nhiều test case

- Có thể run các test suite thông qua Selenium IDE hoặc Selenium command line

- Selenium API hỗ trợ nhiều loại trình duyệt, do đó sẽ rất dễ dàng khi test các ứng dụngweb với các trình duyệt khác nhau

- Có thể kết hợp với các hệ thống CI/CD như Jenkins, CircleCI để đẩy nhanh tiến độ kiểmtra, từ đó có thể rút ngắn thời gian release sản phẩm

Tốc độ:

8

Trang 10

So sánh với các tool khác của bộ công cụ Selenium, WebDriver trở thành tool có tốc độnhanh nhất trong số đó.

Việc giao tiếp không cần thông qua bất cứ thiết bị ngoại vi nào mà trực tiếp kết nối thẳngvới trình duyệt tương tự như người sử dụng

WebDriver tận dụng được khả năng tương thích với trình duyệt để tự động hóa

Hình 9: Web Driver API

Drivers, Methods and Classes:

WebDriver cung cấp một loạt các giải pháp cho một số các thách thức trong kiểm thử tựđộng

Xử lý được các loại phần tử web phức hợp như checkbox, dropdowns và thông báo với sựtrợ giúp của tìm kiếm động

WebDriver cho phép người dùng thực hiện kiểm thử các trang web trên thiết bị di động,hai trong số các drivers cần thiết để kiểm thử trên mobile là: AndriodDriver, IphoneDriver

9

Trang 11

1.4 Minh họa (demo)

Link demo youtube: https://www.youtube.com/watch?v=68xR7RH-R9A&t=359s/Phương thức GET tổng các khóa học có trong APIs

Phương thức GET lấy ra id là 1

Phướng thức post thêm khóa học id 4

10

Trang 12

Phương thức Delete

Phương thức PATCH và PUT

Phương thức PATCH

11

Trang 13

Phương thức PUT nhập thiếu thông tin

Phương thức PUT nhập đầy đủ thông tin

Các phương thức lấy dữ liệu từ APIs

12

Trang 14

CHƯƠNG 2: TEST CASES

Selenium IDE (Môi trường phát triển tích hợp) chủ yếu là một công cụ ghi / chạy mà mộtnhà phát triển trường hợp thử nghiệm sử dụng để phát triển các trường hợp thử nghiệmSelenium Selenium IDE là một công cụ dễ sử dụng từ Selenium Test Suite và thậm chí có thểđược sử dụng bởi những người mới phát triển các trường hợp thử nghiệm tự động cho các ứngdụng web của họ Người ta không yêu cầu bất kỳ thiết lập đặc biệt nào để bắt đầu với SeleniumIDE Bạn chỉ cần thêm tiện ích mở rộng của trình duyệt cụ thể của mình Selenium IDE cungcấp cho bạn GUI (Giao diện người dùng đồ họa) để dễ dàng ghi lại các tương tác của bạn vớitrang web

Selenium IDE cho phép người dùng hoặc nhà phát triển trường hợp thử nghiệm tạo cáctrường hợp thử nghiệm và bộ thử nghiệm và chỉnh sửa nó sau theo yêu cầu của họ Môi trườngphát triển cũng cung cấp khả năng chuyển đổi các trường hợp kiểm thử sang các ngôn ngữ lậptrình khác nhau, giúp người dùng dễ dàng hơn và không bắt buộc phải biết một ngôn ngữ lậptrình cụ thể

Selenium là một trong những khái niệm chung để miêu tả một phần mềm chuyên dụngtrong automation Mà ở đó, mỗi loại trong nó sẽ đáp ứng được các yêu cầu testing khác nhau.Còn về cơ bản thì Selenium bao gồm 4 thành phần chính là:

Selenium IDE (IDE là từ viết tắt của Integrated Developer Environment): là một plug-innằm trên trình duyệt Fire-fox, ta có thể sử dụng để record và play lại các thao tác đó dựa theomột quy trình hay một test case nào đó

Selenium RC: Selenium Remote Control, Selenium server sẽ khởi chạy và tương tác vớicác trình duyệt web

WebDriver: Selenium WebDriver có nhiệm vụ gửi lệnh khởi chạy rồi thực hiện tương táctrực tiếp với các trình duyệt mà không cần thông qua bất cứ server như Selenium RC Selenium Grid: Selenium Hub được sử dụng để khởi chạy nhiều các test thông qua cácmáy cũng như các trình duyệt khác nhau tại cùng một thời điểm nhất định

Selenium team đã quyết định gộp Selenium RC và WebDriver lại với nhau để có thể khởitạo ra các Selenium 2 với các tính năng mạnh mẽ hơn và hiện nay thì hầu hết các SeleniumProject đều sử dụng chúng

13

Trang 15

Những tính năng nổi bật mà Selenium giới thiệu:

Có thể kết hợp với nhiều ngôn ngữ lập trình như: Java, Net, Python, Ruby một cách dễdàng

Selenium sẽ giả cho các thao tác người dùng ở trên web page và các web element Script được base dựa theo HTML nên rất dễ học và việc ứng dụng cũng sẽ rất nhanh

Có thể tạo ra một bộ test suite có chứa nhiều test case khác

Có thể run các test suite thông qua Selenium IDE hoặc Selenium command line

Selenium API sẽ hỗ trợ rất nhiều cho các loại trình duyệt, do vậy mà sẽ rất dễ dàng khitest ứng dụng web với nhiều loại trình duyệt khác nhau

Selenium IDE có ưu điểm là:

Quá trình cài đặt và sử dụng đều dễ dàng

Không yêu cầu người sử dụng phải có kỹ năng lập trình mà họ chỉ cần hiểu biết một chút

Sử dụng được tích hợp cùng với các extension khác nhau

Nhược điểm của Selenium IDE:

Bởi là một extension nên bạn chỉ có thể cài đặt nó trên trình duyệt Firefox

Nó được dùng để thiết kế nhằm tạo ra các test đơn giản hoặc prototype test

Với IDE thì bạn không có khả năng thực hiện được các tính toán cũng như câu lệnh phứctạp hoặc có điều kiện

Hiệu năng hoạt động có thể sẽ chậm hơn nhiều so với Webdriver và Selenium RC

14

Trang 16

2.2 Tóm tắt test case (Tiếng việt / Tiếng anh):

TC ID TC Description AdvancedBasic/ Author

03 Quên mật khẩu. Cơ bản

07 Thích kiểu Discover. Cơ bản

08 Vòng quay may mắn. Cơ bản

09 Kiểm tra số điện thoại Cơ bản

10 Kiểm tra mã OTP Cơ bản

11 Tìm salon theo khu vực. Cơ bản

12 Xem lại lịch đã đặt. Cơ bản

13 Hủy thích kiểu Discover. Cơ bản

14 Đăng ký tài khoản và tạo mật khẩu Cơ bản

15 Đếm số cửa hàng ở địa điểm cụ thể. Nâng cao Tư

16 Đếm tổng số cửa hàng tại Tp.HCM. Nâng cao Tư

17 Đếm số lượng yêu thích. Nâng cao Huy

18 Đếm số lượng combo đã chọn. Nâng cao Tư

19 So sánh lịch sử yêu thích trong lịch sử Nâng cao Huy

15

Trang 17

2.3 Chi tiết Test case:

TC ID TC Description Steps ExpectedResult ResultTest

01 Đăng nhập

1 Truy cập: https://30shine.com/

2 Click nút đăng nhập

3 Nhập số điện thoại: 0336234081

4 Click button hoàn tất

5 Kết quả: Mật khẩu sai định dạng

02 Đăng xuất

1 Truy cập: https://30shine.com/

2 Click vào Dropdown button navbar

3 Click vào Đăng xuất

4 Đóng trang

Đăng xuấtthành công! Pass

6 Click button hoàn tất

7 Không nhập pass click vô button lưu mật khẩu

Pass

04 Đặt lịch 1 Truy cập: https://30shine.com/

2 Click vào button Đặt lịch ngay

3 Kết quả: Anh vui lòng nhập đủ 10 số điện thoại nhé!

4 Nhập 4 ký tự: 0192

Đặt LịchThànhCông!

Pass

16

Trang 18

5 Kết quả: Anh vui lòng nhập đủ 10 số điện thoại nhé!

11 Click button Hoàn tất

12 Kết quả: Mời anh chọn dịch vụ để chọn giờ cắt

13 Click button chọn bất kỳ 1 item trongchọn dịch vụ

14 Click button đã chọn trong dịch vụ đểhủy chọn

15 Click button chọn bất kỳ 1 item trongchọn dịch vụ

16 Click button chọn 1 dịch vụ

17 Click button Hoàn tất

18 Kết quả: Mời anh chọn giờ cắt để tiếptục đặt lịch

05 Đổi lịch 1 Truy cập: https://30shine.com/

2 Click button Đổi/Hủy lịch

3 Click button Đổi lịch

Pass

17

Trang 19

7 Click button Hoàn tất.

8 Kết quả: Mời anh chọn dịch vụ để chọn giờ cắt

9 Click button chọn bất kỳ 1 item trongchọn dịch vụ

10 Click button đã chọn trong dịch vụ đểhủy chọn

11 Click button chọn bất kỳ 1 item trongchọn dịch vụ

12 Click button chọn 1 dịch vụ

13 Click button Hoàn tất

14 Kết quả: Mời anh chọn giờ cắt để tiếptục đặt lịch

2 Click button Đổi/Hủy lịch

3 Click button chắc chắn Hủy lịch

4 Đóng trang

Lịch đặt đãhủy Pass

08 mắn.Vòng quay may

1 Truy cập: https://30shine.com/

2 Click Vòng quay may mắn

3 Click button quay

4 Click vào button đã nhận quà

5 Đóng trang

Tuyệt vờianh đã trúng Pass

09 Kiểm tra số điện

4 Kết quả: Số điện thoại sai định dạng

5 Nhập số điện thoại ít hơn 10 ký tự:

0564

6 Click button Tiếp tục

7 Kết quả: Số điện thoại sai định dạng

Nhập mậtkhẩu củaSĐT0336234081hoặc chọnQuên mậtkhẩu

Pass

18

Trang 20

12 Click button hoàn tất.

13 Kết quả: OTP không chính xác

Pass

12 Xem lại lịch đã đặt

1 Truy cập: https://30shine.com/

2 Click vài navbar

3 Click button xem lại lịch đã đặt

4 Đóng trang

Lịch đặt củaanh (1) Pass

14 Đăng ký tài khoản

4 Kết quả: Số điện thoại sai định dạng

5 Nhập số điện thoại ít hơn 10 ký tự 05

Đặt mậtkhẩu thànhcông!

Pass

19

Trang 21

6 Click button Tiếp tục.

7 Kết quả: Số điện thoại sai định dạng

8 Nhập số điện thoại chưa đăng ký:

14 Click button hoàn tất

15 Kết quả: Tạo tài khoản thành công

16 Không nhập pass click vô button lưu mật khẩu

17 Kết quả: Mật khẩu không đúng định dạng

4 Kiểm tra số lượng salon ở bình dương

5 Đếm số salon trong tỉnh, thành phố

6 Đóng trang

Tổng cáccác cửa hàngbằng với giátrị cửa hàng

Pass

20

Trang 22

5 Click button xem dịch vụ đã chọn.

6 Đóng trang

bên trangdịch vụ đãchọn

Pass

21

Trang 23

2.4 Thống kê các lỗi tìm được:

Bug ID Bug Description Evidence

01 Lỗi không đủ chi nhánh tại cầu giấy(3) khi tìm

thấy có 4 chi nhánh

22

Trang 24

CHƯƠNG 3: KẾT LUẬNKiểm thử phần mềm hiện nay vẫn là vấn đề hết sức quan trọng với các tổ chức phát triểnphần mềm Trong khuôn khổ báo cáo môn học của mình do thời gian và kinh nghiệm còn hạnchế nên có những phần của báo cáo môn học chưa được đào sâu nghiên cứu.

Sau một thời gian thực hiện báo cáo đồ án môn học dưới sự hướng dẫn của Thạc sĩ TrịnhCông Nhựt báo cáo của em đã thực hiện tốt được các mục tiêu đề ra và đạt được những kết quảnhư sau:

Kết quả đạt được:

Trình bày đầy đủ các vấn đề tổng quan về phần mềm, công nghệ phần mềm, lỗi phầnmềm, và các vấn đề liên quan đến kiểm thử phần mềm

Giới thiệu Selenium IDE, các thao tác cơ bản để sử dụng công cụ này

Báo cáo đồ án môn học là một tài liệu xúc tích tổng hợp được các vấn đề chính của kiểmthử phần mềm, và có thể được coi là một tài liệu hướng dẫn sử dụng Selenium IDE ngắngọn rõ ràng bằng tiếng Việt để tham khảo

Hạn chế:

Mặc dù đã cố gắng hết sức trong thời gian thực hiện đề tài nhưng với kinh nghiệm còn hạn chế nên báo cáo môn học không tránh khỏi những thiếu sót

Hướng phát triển đề tài:

Trong thời gian tới em sẽ tiếp tục nghiên cứu sâu hơn về các vấn đề của kiểm thử phần mềm, và đặc biệt là bộ công cụ kiểm thử ứng dụng web Selenium, để có thể vận dụng vào kiểmthử các ứng dụng lớn hơn trong thực tế

23

Ngày đăng: 09/02/2025, 13:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN