1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài tìm hiểu công cụ kiểm thử tự động selenium IDE

29 148 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

Định dạng
Số trang 29
Dung lượng 0,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Kéo theo đó là nhu cầu kiểm thử phần mềm để ứng dụng đạt chất lượng tối ưu khi đến tay người sử dụng • Một công cụ hỗ trợ đắc lực cho kiểm thử phần mềm là Selenium- một công cụ mã nguồ

Trang 1

Trường đại học Công nghệ giao thông vận tải

Khoa công nghệ thông tin

Bài báo cáo môn: Kiểm thử phần mềm

Đề tài: Tìm hiểu công cụ kiểm thử tự động Selenium IDE

GVHD: Lê Trung Kiên Thực hiện: Nhóm 8-69DCTT23

1

Trang 2

Chương 1: Giới thiệu

Chương 2: Cài đặt và sử dụng

Chương 3: Ứng dụng DEMO

Chương 4: Selenium Webdriver

Trang 3

Chương 1: Giới thiệu

• Trong giao đoạn bùng nổ công nghệ thông tin như hiện nay, nhu cầu phát triển phần mềm tăng nhanh chóng đặc biệt là các úng dụng web

• Kéo theo đó là nhu cầu kiểm thử phần mềm để ứng dụng đạt chất lượng tối ưu khi đến tay người sử dụng

• Một công cụ hỗ trợ đắc lực cho kiểm thử phần mềm là Selenium- một công cụ mã nguồn mở, gồm nhiều tính năng mạnh mẽ, hỗ trợ các ứng dụng trên nền web, nhiều platfom và các trình duyệt phổ biến

3

Trang 4

1.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)

• 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

• Năm 2008, Selenium và webdiver kết hợp, cung cấp 1 tập các tính năng hữu ích cho người sử dụng

Trang 5

1.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 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

• 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 , cũng như các hệ điều hành chủ yếu như Windows , Linux , Mac ,

• Selenium có 4 thành phần:

Selenium IDE: Selenium Integreted Development Environment (IDE)

Selenium RC: Selenium Remote Control (RC)

Selenium Grid: dùng để khởi chay nhiều các test thông qua các máy

Webdriver: gửi lệnh khởi chạy và tương tác trực tiếp tới các trình duyệt

5

Trang 7

1.3 Selenium IDE

• Ưu điểm: Dễ dàng cài đặt, sử dụng, tiết kiệm thời gian; Không yêu cầu kinh nghiệm lập trình; Có thể convert qua các ngôn ngữ lập trình khác như: HTML, Java, C#, Python, Ruby; Có thể debug, set breakpoint, thêm comment vào script cho dễ đọc; Hỗ trợ biểu thức điều kiện/ vòng lặp

• Nhược điểm: Không hỗ trợ test report (cần cài đặt thêm để hiển thị report); Không cho phép đọc dữ liệu từ file: text (.txt), excel (.xls), csv (cần cài đặt thêm để đọc dữ liệu từ file csv/ xml); Không hỗ trợ database/ mobile testing (việc này là hơi quá với 1 plugin trình duyệt)

7

Trang 9

1 phiên làm việc mới bằng cách click vào create a project

Trang 10

2.2 Sử dụng

• Quy trình thực hiện kiểm thử tự động với Selenium IDE

Thiết lập Base URL về trang web muốn kiểm thử

Thực hiện viết các kịch bản kiểm thử (các testcase): Sử dụng các command kết hợp với các Element trên Webpage để tạo ra các hành động tương tác theo các Testcase đã định nghĩa

Thực hiện kiểm thử và ghi nhận các kết quả ->Post bug

• 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

Trang 12

2.2 Sử dụng

• Xác định (locating) element: Định vị element trong selenium ide là

xác định các element trên page(textbox, Button, Checkbox, ) để selenium tương tác Nếu việc định vị không chính xác (selenium không tìm thấy) thì Testcase sẽ bị false

• Một số đinh vị trong selenium ide:

1_ID: trên webpage, ID chính là định danh của Element Do đó việc xác

định các Element qua ID thường là cách phổ biến nhất và chính xác nhất khi muốn xác định Elemet Các xác định này sẽ không áp dụng được nếu thẻ không gán ID

Trang 13

2.2 Sử dụng

2_Name: Xác định Element qua tên cũng là một phương pháp được sử

dụng phổ biến cho độ chính xác cao Cũng giống như việc sử dụng ID, việc xác định Element qua Name cũng sử dụng thuộc tính name của thẻ HTML để xác định Element

3_Link Text: Cách này chỉ áp dụng cho các hyperlink Sử dụng cú pháp

“Link =Text” để xác định một hyperlink trên webpage

13

Trang 14

2.2 Sử dụng

4_CSS Selectors: là một chuỗi được sử dụng để nhận diện một Element

trong một webpage dựa trên sự kết hợp giữa HTML tag, ID, Class, Attribute

CSS Selectors có nhiều dạng khác nhau, tuy nhiên chúng ta chỉ tập trung vào một số dạng phổ biến sau: tag và ID, tag và class, Tag và attribute (thuộc tính), Tag, Class và attribute, Inner Text

Trang 15

6_XPath: XPath là ngôn ngữ được sử dụng khi định vị các nút XML

(Extensible Markup Language) Vì HTML có thể được coi là một sự triển khai của XML, nên chúng ta cũng có thể sử dụng XPath trong việc định vị các phần

Trang 16

2.2 Sử dụng

Tóm lược Cú pháp cho việc sử dụng Locator

Trang 17

2.2 Sử dụng

• Sử dụng chức năng Record của Selenium IDE

• Demo luôn cho thầy xem

17

Trang 18

Chương 3: Ứng dụng demo

3.1 Giới thiệu bài toán

• Pinterest là website chia sẻ ảnh dưới dạng mạng xã hội, được sử dụng khá phổ biến, dùng để post và phân loại dưới dạng các đính kèm

• Pinterest kết nối được với facebook và twitter Được thành lập ban đầu bởi Ben Silbermann, vùng West Des Moines, Iowa, Mỹ, trang web này hiện được quản lý bởi Cold Brew Labs và được tài trợ bởi một nhóm nhỏ doanh nhân và nhà đầu tư Địa chỉ truy cập hiện tại của trang https://www.pinterest.com/

Trang 19

3.1 Giới thiệu bài toán

• Website https://www.pinterest.com/ có các chức năng:

Hỗ trợ người dùng đăng ký và đăng nhập vào tài khoản Pinterest của mình

Có thể chia sẻ ảnh dưới dạng mạng xã hội

Có thể tạo ra các tập tin theo chủ đề yêu thích

Có thể xem bộ sưu tập của mọi người và kéo về bộ sưu tập của mình

Có thể maketing online về mảng này

• Trong khuôn khổ đề tài, do hạn chế về kinh nghiệm và thời gian tìm hiểu công cụ, em sẽ trình bày quá trình kiểm thử chức năng đăng nhập tài khoản trong website https://www.pinterest.com/

19

Trang 20

3.2 Kiểm thử chức năng đăng nhập

Demo cho thầy xem

Trang 21

Chương 4: Selenium Webdriver

4.1 Giới thiệu chung

• Selenium Webdriver (Se driver) là một phần mềm mã nguồn mở giúp việc thực thi các hành động lên trang web một cách tự động, tất nhiên

là tùy vào mục đích và yêu cầu của người viết Se driver hỗ trợ viết script trên nhiều ngôn ngữ khác nhau: Java, C#, python, PHP…

• Bản chất Se driver là một 1 package trong đó có chứa rất nhiều các class, cung cấp các API hay gọi nôm na là thư viện

21

Trang 22

4.2 Đặc điểm của Selenium Webdiver

 Kiến trúc Selenium Webdiver

WebDriver trực tiếp gọi tới trình duyệt web và toàn bộ kịch bản kiểm thử được thực thi theo cách này WebDriver sử dụng sự hỗ trợ, khả năng của trình duyệt để tự động hóa

Trang 23

4.2 Đặc điểm của Selenium Webdiver

 Ưu điểm:

• Kiến trúc đơn giản:

• Tốc độ:WebDriver là công cụ nhanh nhất trong các công cụ của bộ Se

do tương tác trực tiếp từ hệ điều hành tới trình duyệt

• Khắc phục các hạn chế của Selenium v1 như tải lên tệp, tải xuống, cửa

sổ bật lên và hộp thoại

Nhược điểm:

• Báo cáo kiểm thử chi tiết không thể được tạo ra

• Không thể kiểm tra hình ảnh

23

Trang 24

4.3 Sử dụng Selenium Webdiver

• Se Diver được sử dụng: Để sử dụng một ngôn ngữ lập trình nhất định trong việc thiết kế test case của bạn, kiểm tra các ứng dụng có nhiều chức năng dựa trên AJAX, thực hiện các kiểm thử trên trình duyệt HtmlUnit, Để tạo kết quả kiểm thử tùy chỉnh

• Để Se driver có thể mô phỏng hành động như click chuột hay điền giá trị, đầu tiên nó phải xác định được vị trí của element (phần tử) trên trang web

mà nó sẽ tương tác (dựa vào css Selector hoặc Xpath)

• Sau khi đã xác định được vị trí, thì sẽ xác định hành động đối với element

đó (thông qua các API được viết sẵn trong các gói thư viện của Webdriver)

• Sau khi hoàn thành 1 list các hành động theo trình tự ( giống như thực hiện với manual test), ta sẽ kiểm tra xem trang web có thực hiện đúng hay không

Trang 25

4.3 Sử dụng Selenium Webdiver

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

• element.sendKeys(“inputtext”):Nhập một số văn bản vào input box

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

• driver.switchTo().window(“windowName”):Di chuyển con trỏ chuột

từ cửa sổ này sang cửa sổ khác

• driver.quit(): Thoát driver và đóng tất cả các cửa sổ liên quan đến driver đó

• driver.navigate().forward(): Chuyển hướng đến trang tiếp theo

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

• driver.switchTo().alert():Xử lý alert

25

Trang 26

4.3 Sử dụng Selenium Webdiver

VD: Kiểm tra chức năng login

• Ta cần phải xác định được vị trí của các element: [Username], [Password] và [Submit Button], với [Username] và [Password] là nhập

dữ liệu, ta sẽ dùng các phương thức nhập dữ liệu Với [Submit Button] thì ta dùng phương thức mô phỏng Click chuột

• Để kiểm tra xem với dữ liệu nhập vào thì login có thành công hay không bằng cách xem nó có chuyển sang page khác hay không… việc này sẽ được check tự động và phải chọn những điểm làm căn cứ để đánh dấu Pass/Fail

• Khi run, Se driver sẽ gọi trực tiếp (direct call) trình duyệt thông qua driver của chính trình duyệt đó Sau đó các hành động trên script sẽ

Trang 27

4.3 Cách Selenium Webdiver làm việc

• Chi tiết của direct call:

Với mỗi 1 hành động từ script, một HTTP request sẽ được tạo ra

HTTP request đó gửi đến browser driver

Mỗi browser driver sẽ có 1 HTTP server để nhận lấy HTTP request

Sau khi nhận, HTTP server xác định những bước cần thiết để thực thi hành động phản hồi lại request

HTTP server thực thi những bước ở trên như mở trang web, điền thông tin vào thẻ input…

Sau đó, HTTP server trả lại trạng thái thực hiện những hành động cho client, nơi đang run script

27

Trang 28

Kết luận

Kiểm thử phần mềm nói chung và kiểm thử trên nền Web nói riêng là một vấn đề hết sức quan trọng đối với các tổ chức phần mềm hiện nay Trong quá trình thực hiện đề tài do thời gian nghiên cứu và kinh nghiệm còn nhiều hạn chế và chưa được chuyên sâu Nhưng qua thời gian nghiên cứu đề tài này không những được tiếp cận với nhiều kiến thức mới hơn mà còn hiểu hơn về ngành Tester

Ngày đăng: 16/08/2021, 05:30

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w