Đang tải... (xem toàn văn)
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn: Nguyễn Công Hoan
Nhóm sinh viên thực hiện:
Đặng Chí Bảo19521237
Trang 2Hồ Chí Minh, tháng 6 năm 2023
Biên bản thay đổi tài liệu
Thời gian Phiên bản Mô tả Tác giả29/12/202
3
Trang 3Mộ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
Trang 4MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU 2
I Thông Tin Chung 2
1 Thông tin nhóm 2
2 Thông tin sơ lược về đồ án 2
3 Sơ lược về những khái niệm 2
5 Cài đặt JDK (Java Development Kit) 10
6 Cài đặt trình giả lập SDK (Sofware Development Kit) 10
7 Cài đặt Visual Studio 12
CHƯƠNG 2: THIẾT KẾ VÀ TRIỂN KHAI TESTCASE 14
I Giới thiệu về app và thiết kế Testcase 14
1 Giới thiệu về app 14
2 Thiết kế Testcase 15
3 Môi trường cài đặt 16
II Hướng dẫn thiết lập môi trường 16
1 Cài đặt Appium trên Visual Studio 16
CHƯƠNG 3: DEMO VÀ PHÂN TÍCH KẾT QUẢ 21
Trang 51 Viết test script cho các testcase 21
TÀI LIỆU THAM KHẢO 26
Tài liệu tham khảo: 26
Trang 6Selenium 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.
Trang 8CHƯƠNG 1: GIỚI THIỆU
I Thông Tin Chung1 Thông tin nhóm
Bảng 1.1: Thông tin nhóm
2 Thông tin sơ lược về đồ án
Tên đồ án: UI auto testing tool với Appium.
Tên ứng dụng: TestingCalculatorApp.
Công nghệ sử dụng: Appium.
Môi trường phát triển: Android Studio / Visual Studio.
Ngôn ngữ lập trình: C#
3 Sơ lược về những khái niệm
3.1 Automation testing tool (Công cụ kiểm thử tự động)
Trang 9Hình 1.1: Automation Testing
Automation testing tool là phần mềm được sử dụng để tự động
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 quá trình kiểm thử.
Các chức năng chính của Automation testing tool bao gồm:
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.
Trang 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.
Automation testing tool có các lợi ích như sau: Tiết kiệm thời
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, …
3.2 Appium
Hình 1.2: Appium
Appium là một trong những Automation testing tool (công cụ
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.
Appium hỗ trợ “đa nền tảng” (cross-platform) cho phép bạn sử
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.
Trang 11Appium hỗ trợ kiểm thử tự động phần mềm trên cả emulator,
simulator và devices
Appium được phát triển dựa trên các điểm sau:
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.
Trang 123.3 Tại sao nên sử dụng AppiumAppium có những điểm khác biệt sau:
Hỗ trợ đa nền tảng: Appium hỗ trợ các nền tảng iOS,
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.
Hỗ trợ nhiều ngôn ngữ lập trình: Appium hỗ trợ nhiều ngôn
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.
Cú pháp và API dễ sử dụng: Cú pháp và API của Appium
đượ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
quen với Appium.
3.4 Kiến trúc của Appium
Appium là một máy chủ HTTP được viết bằng Node.js, tạo và xử lý
nhiều WebDriver cho các nền tảng khác nhau như iOS và Android.
Appium khởi động một "test case" trên thiết bị mà có một máy
chủ, và lắng nghe các lệnh proxy từ máy chủ Appium chính Mỗi
nền tảng iOS hoặc Android có một cơ chế khác nhau để chạy test
case trên thiết bị sau khi nhận được các lệnh từ máy chủ Appium.
II Cách cài đặt1 Yêu cầu
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
Trang 132 Cài đặt Python
Bước 1: Tải xuống Python từ trang web chính thức của Python qua
đường link: https://www.python.org/downloads/
Bước 2: Mở tệp exe đã tải xuống và làm theo hướng dẫn trên màn
hình để cài đặt Python.
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:
3 Cài đặt Node.js
Bước 1: Tải xuống Node.js từ trang web chính thức của Node.js
qua đường link: https://nodejs.org/en/download/
Bước 2: Mở tệp msi đã tải xuống và làm theo hướng dẫn trên màn
hình để cài đặt Node.js.
Bước 3: Sau khi cài đặt Node.js, hãy kiểm tra phiên bản Node.js
bằng cách chạy lệnh sau trong cửa sổ Command Prompt:
4 Cài đặt Appium
Cài đặt bao gồm các Appium như: GUI, Driver, Inspector.
Bước 1: Vào trang: https://github.com/appium/appium-desktop để
cài đặt Appium
Trang 14Hình 1.3: Github của Appium Desktop
Trang 15Bước 2: Kéo xuống tìm mục Download, và chọn tải Appium
Server GUI phù hợp
Hình 1.4: Cài đặt Appium Desktop
Bước 3: Mở cửa sổ Command Prompt và chạy lệnh sau để cài đặt
Bước 4: Kiểm tra xem Appium đã được cài đặt thành công hay
chưa bằng cách chạy lệnh sau:
Hình 1.5: Kiểm tra Appium version
Trang 16Bước 5: Cài đặt Appium, mở Appium lên sẽ có giao diện dưới
Trang 17Hình 1.8: Github của Appium Inspector
Bước 8: Kéo xuống tìm mục Installation, và chọn tải Appium
Inspector phù hợp
Hình 1.9: Cài đặt Appium Inspector
Trang 18Bước 9: Cài đặt Appium Inspector, mở lên sẽ có giao diện dưới
Hình 1.10: Appium Inspector
5 Cài đặt JDK (Java Development Kit)
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).
Bước 3: Cài đặt biến JAVA_HOME bao gồm: xác định đường dẫn,
thiết lập biến, đặt tên biến.
6 Cài đặt trình giả lập SDK (Sofware Development Kit)
Để chạy kiểm thử tự động với Appium, bạn cần cài đặt một trình
giả lập Bạn có thể sử dụng các trình giả lập sau:
Trang 19 Trình giả lập Android: Android Studio
Hình 1.10: Android Studio Trình giả lập iOS: Xcode
Hình 1.11: Xcode
Trang 207 Cài đặt Visual Studio
Bước 1: Cài đặt Visual Studio qua đường link:
Hình 1.12: Visual Studio
Bước 2: Cài đặt môi trường Net 8.0 để thiết lập Framework
Testing
Trang 21Sau 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
Trang 22CHƯƠNG 2: THIẾT KẾ VÀ TRIỂN KHAI TESTCASEI Giới thiệu về app và thiết kế Testcase
1 Giới thiệu về app
Nhóm em chọn test app Calculator để thực hiện các phép
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.
Trang 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.
2 Thiết kế Testcase
Bước thựchiện
Kết quảmongmuốn
ứng dụng Calculator
Mở và tắt ứng dụng Calculator
Hiện và thoá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ị.
Trang 24Kế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ị.
3 Môi trường cài đặt
Sử dụng Android Studio để tạo máy ảo Simulator.
Sử dụng Visual Studio để làm famework hỗ trợ cho việc
automation testing UI bằng ngôn ngữ C#.
Sử dụng Appium GUI + Appium Inspector để thực hiện
testing dựa kịch bản testcase trên.
Sử dụng thư viện của Selenium cho Appium.
II Hướng dẫn thiết lập môi trường1 Cài đặt Appium trên Visual Studio
Bước 1: Tạo NUnit Test Project trên Visual Studio
Trang 25Hì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
Trang 27Hì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ước 5: Chạy máy ảo Simulator trên Android Studio.
Bước 6: Mở Appium GUI + Appium Inspector và viết như hình
dưới và chạy chương trình.
Trang 28Sau khi hoà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
Trang 29CHƯƠNG 3: DEMO VÀ PHÂN TÍCH KẾT QUẢI Demo
1 Viết test script cho các testcase
TESTCASE 1:
Hình 3.1: Testcase 1TESTCASE 2:
Trang 30Hình 3.2: Testcase 2TESTCASE 3:
Hình 3.3: Testcase 3TESTCASE 4:
Trang 31Hình 3.4: Testcase 4TESTCASE 5:
Hình 3.5: Testcase 5TESTCASE 6:
Trang 32Hình 3.6: Testcase 6TESTCASE 7:
Hình 3.7: Testcase 7
Trang 332 Kết quả
Hình 3.8: Kết quả các testcase
II Phân tích kết quả
Các testcase đều chính xác hoàn toàn và bao phủ đầy đủ các
trường hợp của chức năng tính toá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.
CHƯƠNG 4: KẾT LUẬNI Kết Quả
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 toán.
Trang 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 toán.
II Một Số Hạn Chế
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.
Trang 35TÀI LIỆU THAM KHẢOTài liệu tham khảo:
https://www.guru99.com/introduction-to-appium.html
thieu-appium-va-huong-dan-cai-dat-phan-1-m68Z03dXKkG
https://viblo.asia/p/tu-hoc-kiem-thu-tu-dong-voi-appium-gioi- ung-dung-tren-android-p1-L4x5xQWwKBM
https://viblo.asia/p/su-dung-appium-trong-kiem-thu-tu-dong- https://viblo.asia/p/appium-1Je5EEqY5nL
https://www.youtube.com/watch?v=fM-1B2saNdk
https://www.youtube.com/watch?
v=yTW7hZZfTYo&list=PLUDwpEzHYYLsx_2JFNBMITjHqTnuszhb