Tải bản đầy đủ (.docx) (35 trang)

đồ án 1 ui auto testing tool với appium

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.26 MB, 35 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN</b>

<b>Giảng viên hướng dẫn: Nguyễn Cơng Hoan</b>

Nhóm sinh viên thực hiện:

Đặng Chí Bảo19521237

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Hồ Chí Minh, tháng 6 năm 2023</b>

<b>Biên bản thay đổi tài liệu</b>

Thời gian Phiên bản Mô tả Tác giả29/12/202

3

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

Một lần nữa, nhóm em xin chân thành cám ơn thầy Nguyễn CơngHoan.

Thành phố Hồ Chí Minh ngày 29/12/2023

Đặng Chí Bảo

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>MỤC LỤC</b>

<b><small>CHƯƠNG 1: GIỚI THIỆU...2</small></b>

<i><b><small>I. Thông Tin Chung...2</small></b></i>

<b><small>1. Thông tin nhóm...2</small></b>

<b><small>2. Thơng tin sơ lược về đồ án...2</small></b>

<b><small>3. Sơ lược về những khái niệm...2</small></b>

<b><small>5. Cài đặt JDK (Java Development Kit)...10</small></b>

<b><small>6. Cài đặt trình giả lập SDK (Sofware Development Kit)...10</small></b>

<b><small>7. Cài đặt Visual Studio...12</small></b>

<b><small>CHƯƠNG 2: THIẾT KẾ VÀ TRIỂN KHAI TESTCASE...14</small></b>

<i><b><small>I. Giới thiệu về app và thiết kế Testcase...14</small></b></i>

<b><small>1. Giới thiệu về app...14</small></b>

<b><small>2. Thiết kế Testcase...15</small></b>

<b><small>3. Môi trường cài đặt...16</small></b>

<i><b><small>II. Hướng dẫn thiết lập môi trường...16</small></b></i>

<b><small>1. Cài đặt Appium trên Visual Studio...16</small></b>

<b><small>CHƯƠNG 3: DEMO VÀ PHÂN TÍCH KẾT QUẢ...21</small></b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b><small>1. Viết test script cho các testcase...21</small></b>

<b><small>TÀI LIỆU THAM KHẢO...26</small></b>

<i><b><small>Tài liệu tham khảo:...26</small></b></i>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Selenium WebDriver, Appium, và các công cụ khác.

Kết quả của nghiên cứu cho thấy, Appium là một công cụ kiểm thửtự động mã nguồn mở mạnh mẽ và linh hoạt, hỗ trợ kiểm thử ứng dụng di động trên nhiều nền tảng khác nhau, bao gồm iOS,

Android, và Windows Mobile.

Trên cơ sở kết quả nghiên cứu, nhóm em đã kiểm thử tự động ứng dụng di động sử dụng Appium trên Framework. Framework này baogồm các thành phần chính sau:

 Thành phần điều khiển (driver): chịu trách nhiệm tương tác với ứng dụng di động thông qua API của Appium.

 Thành phần kiểm thử (test): chịu trách nhiệm thực hiện các trường hợp kiểm thử.

 Thành phần báo cáo (report): chịu trách nhiệm tổng hợp kết quả kiểm thử.

Kết luận, đồ án đã thành công trong việc nghiên cứu và ứng dụng công nghệ Appium trong kiểm thử tự động ứng dụng di động. Framework kiểm thử tự động được xây dựng trong đồ án có thể được áp dụng cho các dự án kiểm thử ứng dụng di động khác.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>CHƯƠNG 1: GIỚI THIỆU</b>

<b>I. Thông Tin Chung1. Thơng tin nhóm</b>

Bảng 1.1: Thơng tin nhóm

<b>2. Thơng tin sơ lược về đồ án</b>

 <b>Tên đồ án: UI auto testing tool với Appium.</b>

 <b>Tên ứng dụng: TestingCalculatorApp.</b>

 <b>Công nghệ sử dụng: Appium.</b>

 <b>Môi trường phát triển: Android Studio / Visual Studio.</b>

 <b>Ngơn ngữ lập trình: C#</b>

<b>3. Sơ lược về những khái niệm</b>

<b>3.1 Automation testing tool (Công cụ kiểm thử tự động)</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Hình 1.1: Automation Testing

<b>Automation testing tool là phần mềm được sử dụng để tự động </b>

hóa các tác vụ kiểm thử phần mềm. Các công cụ này giúp giảm thiểu thời gian và công sức cần thiết để thực hiện kiểm thử, đồng thời nâng cao độ chính xác và hiệu quả của q trình kiểm thử.

<b>Các chức năng chính của Automation testing tool bao gồm:</b>

 Thực thi các kịch bản kiểm thử tự động: Các cơng cụ này có thể chạy các kịch bản kiểm thử đã được thiết kế trước, mà không cần sự can thiệp của con người.

 Ghi lại và phát lại các hành động của người dùng: Một số công cụ có thể ghi lại các hành động của người dùng trên ứng dụng, sau đó phát lại các hành động này để kiểm thử tự động.

 So sánh kết quả kiểm thử thực tế với kết quả mong đợi: Các cơng cụ này có thể so sánh kết quả kiểm thử thực tế với kết quả mong đợi để xác định xem ứng dụng có hoạt động đúng như mong đợi hay không.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

 Tạo báo cáo kiểm thử: Các cơng cụ này có thể tạo báo cáo kiểm thử chi tiết, bao gồm thông tin về các kịch bản kiểm thửđã được chạy, kết quả kiểm thử và các lỗi được phát hiện.

<b>Automation testing tool có các lợi ích như sau: Tiết kiệm thời </b>

gian, Tăng độ chính xác, Tăng phạm vi kiểm thử, Giảm chi phí, Cải thiện chất lượng phần mềm, …

<b>3.2 Appium</b>

Hình 1.2: Appium

<b>Appium là một trong những Automation testing tool (công cụ </b>

kiểm thử tự động) mã nguồn mở được sử dụng để kiểm tra ứng dụng di động. Công cụ này hỗ trợ các nền tảng iOS, Android, và Windows Mobile.

<b>Appium hỗ trợ “đa nền tảng” (cross-platform) cho phép bạn sử </b>

dụng API giống nhau để viết test cho các nền tảng khác nhau (iOS và Android). Điều này khá là tiện lợi khi bạn muốn sử dụng lại các test suites của mình.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>Appium hỗ trợ kiểm thử tự động phần mềm trên cả emulator, </b>

simulator và devices

<b>Appium được phát triển dựa trên các điểm sau: </b>

 Khơng biên dịch lại app để tự động hóa nó.

 Khơng bị khóa vào một ngơn ngữ hay một framework cụ thể. Là mã nguồn mở.

 Không cần thiết phải kiểm thử tự động khi đã là các API tự động hóa.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>3.3 Tại sao nên sử dụng AppiumAppium có những điểm khác biệt sau:</b>

 <b>Hỗ trợ đa nền tảng: Appium hỗ trợ các nền tảng iOS, </b>

Android, và Windows Mobile. Điều này cho phép các kỹ sư kiểm thử sử dụng cùng một bộ mã kiểm thử để kiểm tra ứng dụng trên nhiều nền tảng khác nhau.

 <b>Hỗ trợ nhiều ngơn ngữ lập trình: Appium hỗ trợ nhiều ngơn </b>

ngữ lập trình phổ biến, bao gồm Java, Python, Ruby, C#, … . Điều này cho phép các kỹ sư kiểm thử sử dụng ngôn ngữ lập trình mà họ quen thuộc.

 <b>Cú pháp và API dễ sử dụng: Cú pháp và API của Appium </b>

được thiết kế dựa trên Selenium WebDriver, vì vậy các kỹ sư kiểm thử đã có kinh nghiệm với Selenium sẽ dễ dàng làm

<b>quen với Appium.</b>

<b>3.4 Kiến trúc của Appium</b>

<b>Appium là một máy chủ HTTP được viết bằng Node.js, tạo và xử lý</b>

nhiều WebDriver cho các nền tảng khác nhau như iOS và Android.

<b>Appium khởi động một "test case" trên thiết bị mà có một máy </b>

<b>chủ, và lắng nghe các lệnh proxy từ máy chủ Appium chính. Mỗi </b>

nền tảng iOS hoặc Android có một cơ chế khác nhau để chạy test

<b>case trên thiết bị sau khi nhận được các lệnh từ máy chủ Appium.</b>

<b>II. Cách cài đặt1. Yêu cầu</b>

 Máy tính chạy hệ điều hành Windows, macOS hoặc Linux Python 3.7 trở lên

 Node.js 14.16.0 trở lên

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>2. Cài đặt Python</b>

<b>Bước 1: Tải xuống Python từ trang web chính thức của Python qua</b>

đường link: 2: Mở tệp .exe đã tải xuống và làm theo hướng dẫn trên màn </i>

<b>hình để cài đặt Python.</b>

<b>Bước 3: Sau khi cài đặt Python, hãy kiểm tra phiên bản Python bằng cách chạy lệnh sau trong cửa sổ Command Prompt:</b>

<b>3. Cài đặt Node.js</b>

<b>Bước 1: Tải xuống Node.js từ trang web chính thức của Node.js </b>

qua đường link: 2: Mở tệp .msi đã tải xuống và làm theo hướng dẫn trên màn</i>

<b>hình để cài đặt Node.js.</b>

<b>Bước 3: Sau khi cài đặt Node.js, hãy kiểm tra phiên bản Node.js </b>

bằng cách chạy lệnh sau trong cửa sổ Command Prompt:

<b>4. Cài đặt Appium</b>

Cài đặt bao gồm các Appium như: GUI, Driver, Inspector.

Bước 1: Vào trang: để

<b>cài đặt Appium</b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Hình 1.3: Github của Appium Desktop

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>Bước 2: Kéo xuống tìm mục Download, và chọn tải Appium</b>

<b>Server GUI phù hợp</b>

Hình 1.4: Cài đặt Appium Desktop

<b>Bước 3: Mở cửa sổ Command Prompt và chạy lệnh sau để cài đặt</b>

<b>Bước 4: Kiểm tra xem Appium đã được cài đặt thành công hay </b>

chưa bằng cách chạy lệnh sau:

Hình 1.5: Kiểm tra Appium version

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>Bước 5: Cài đặt Appium, mở Appium lên sẽ có giao diện dưới</b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Hình 1.8: Github của Appium Inspector

<b>Bước 8: Kéo xuống tìm mục Installation, và chọn tải Appium </b>

<b>Inspector phù hợp</b>

Hình 1.9: Cài đặt Appium Inspector

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>Bước 9: Cài đặt Appium Inspector, mở lên sẽ có giao diện dưới</b>

Hình 1.10: Appium Inspector

<b>5. Cài đặt JDK (Java Development Kit)</b>

Bước 1: Truy cập trang:

Bước 2: Tải xuống JDK phù hợp với máy ( bản mới nhất).

<i>Bước 3: Cài đặt biến JAVA_HOME bao gồm: xác định đường dẫn, </i>

thiết lập biến, đặt tên biến.

<b>6. Cài đặt trình giả lập SDK (Sofware Development Kit)</b>

<b>Để chạy kiểm thử tự động với Appium, bạn cần cài đặt một trình </b>

giả lập. Bạn có thể sử dụng các trình giả lập sau:

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

 <b>Trình giả lập Android: Android Studio</b>

Hình 1.10: Android Studio <b>Trình giả lập iOS: Xcode</b>

Hình 1.11: Xcode

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>7. Cài đặt Visual Studio</b>

Bước 1: Cài đặt Visual Studio qua đường link:

Hình 1.12: Visual Studio

<b>Bước 2: Cài đặt môi trường .Net 8.0 để thiết lập Framework </b>

Testing

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Sau khi cài đặt xong, tạo một máy ảo để thiết lập chương trình cho

Hình 1.12: Máy ảo Emulator

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>CHƯƠNG 2: THIẾT KẾ VÀ TRIỂN KHAI TESTCASE</b>

<b>I. Giới thiệu về app và thiết kế Testcase </b>

<b>1. Giới thiệu về app</b>

 <b>Nhóm em chọn test app Calculator để thực hiện các phép </b>

tính cơ bản như cộng, trừ, nhân, chia. Vì ứng dụng này đơn giản và dễ sử dụng phù hợp để test UI.

Hình 2.1: Máy tính Calculator Mục tiêu:

+ Kiểm tra khả năng nhập số: Kiểm tra xem người dùng có thể nhập số chính xác vào ứng dụng hay khơng.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

+ Kiểm tra khả năng thực hiện phép tính: Kiểm tra xem ứng dụng có thực hiện phép tính chính xác hay khơng.

+ Kiểm tra khả năng hiển thị kết quả: Kiểm tra xem ứng dụng có hiển thị kết quả chính xác hay khơng.

<b>2. Thiết kế Testcase</b>

<b>Bước thựchiện</b>

<b>Kết quảmongmuốn</b>

ứng dụng Calculator

Mở và tắt ứng dụng Calculator

Hiện và thốt ứng dụng.

Calculator. Nhập số 123 vào ơ đầu tiên.

Số 123 được hiển thị trong ơ đầu tiên.

phép tính cộng

Nhấn nút "+". Nhập số 456 vào ô thứ hai. Nhấn nút "=".

Kết quả 579 được hiển thị.

kết quả

Nhấn nút "C" đểxóa kết quả.

Kết quả 579 bị xóa.

Nhập số -123 vào ô đầu tiên. Nhấn nút "+". Nhập số 456

Kết quả 333 được hiển thị.

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Kết quả 580.245 được hiển thị.

số lớn

Nhập số

123456789 vào ô đầu tiên. Nhấnnút "+". Nhập số 987654321 vào ô thứ hai. Nhấn nút "=".

Kết quả 1111111100 được hiển thị.

<b>3. Môi trường cài đặt</b>

 <b>Sử dụng Android Studio để tạo máy ảo Simulator.</b>

 <b>Sử dụng Visual Studio để làm famework hỗ trợ cho việc </b>

automation testing UI bằng ngôn ngữ C#.

 <b>Sử dụng Appium GUI + Appium Inspector để thực hiện </b>

testing dựa kịch bản testcase trên.

 <b>Sử dụng thư viện của Selenium cho Appium.</b>

<b>II. Hướng dẫn thiết lập môi trường1. Cài đặt Appium trên Visual Studio</b>

<b>Bước 1: Tạo NUnit Test Project trên Visual Studio</b>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

Hình 2.2: NUnit Test Project

Bước 2: Thư mục của test script như hình dưới

Hình 2.3: Thư mục TestcaseBước 3: Viết code C# để thực hiện automation testing

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Hình 2.4: Framework C# project

Bước 4: Kiểm tra các testcase ở hình dưới

Hình 2.5: Báo cáo kết quả

<b>Bước 5: Chạy máy ảo Simulator trên Android Studio.</b>

<b>Bước 6: Mở Appium GUI + Appium Inspector và viết như hình </b>

dưới và chạy chương trình.

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Sau khi hồn thành tất cả sẽ có giao diện như sau:

Hình 2.6: Tổng quan chạy chương trình

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<b>CHƯƠNG 3: DEMO VÀ PHÂN TÍCH KẾT QUẢ</b>

<b>I. Demo </b>

<b>1. Viết test script cho các testcase</b>

TESTCASE 1:

Hình 3.1: Testcase 1TESTCASE 2:

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

Hình 3.2: Testcase 2TESTCASE 3:

Hình 3.3: Testcase 3TESTCASE 4:

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Hình 3.4: Testcase 4TESTCASE 5:

Hình 3.5: Testcase 5TESTCASE 6:

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Hình 3.6: Testcase 6TESTCASE 7:

Hình 3.7: Testcase 7

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<b>2. Kết quả</b>

Hình 3.8: Kết quả các testcase

<b>II. Phân tích kết quả</b>

Các testcase đều chính xác hồn tồn và bao phủ đầy đủ các

trường hợp của chức năng tính tốn tổng của hai số nguyên, có thểgiúp phát hiện các lỗi về logic, độ chính xác, tính đầy đủ, … của chức năng.

<b>CHƯƠNG 4: KẾT LUẬN</b>

<b>I. Kết Quả</b>

 Hoàn thành gần như 100% các tính năng đã lên kế hoạch, bao gồm:

+ Các phép tính cơ bản (cộng, trừ, nhân, chia).+ Các phép tính nâng cao.

+ Các chức năng bộ nhớ.+ Lịch sử tính tốn.

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

 Người chơi dễ dàng nắm bắt trạng thái của các phím, biểu tượng và kết quả tính tốn.

<b>II. Một Số Hạn Chế</b>

 Chưa có nhiều độ khó khác nhau, các phép tính còn quá đơn giản.

 Yêu cầu về cài đặt khá phức tạp.

 Khả năng thích ứng với nhiều ứng dụng thấp. Phức tạp để học và sử dụng cho công việc. Khó khăn trong việc xác định yếu tố UI. Bảo mật kém.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<b>TÀI LIỆU THAM KHẢO</b>

<b>Tài liệu tham khảo:</b>

 thieu-appium-va-huong-dan-cai-dat-phan-1-m68Z03dXKkG

a/p/tu-hoc-kiem-thu-tu-dong-voi-appium-gioi- ung-dung-tren-android-p1-L4x5xQWwKBM

a/p/su-dung-appium-trong-kiem-thu-tu-dong- a/p/appium-1Je5EEqY5nL


×