Ví dụ kiểm thử tự động với Appium

Cập nhật ngày: 25/04/2024 - Đã có 1417 lượt xem bài viết này!
Ví dụ kiểm thử tự động với Appium
Kiểm thử tự động với một ứng dụng cơ bản trong Android - Calculator

Ví dụ kiểm thử tự động với Appium

Danh mục:

1. Kịch bản kiểm thử

2. Các bước chuẩn bị 

3. Lấy tên của thiết bị 

4. Tìm Package và Activity của một ứng dụng 

5. Lấy thông tin về đối tượng UI 

6. Viết mã kiểm thử

1. Kịch bản kiểm thử

Trong ví dụ này, chúng ta sẽ kiểm thử tự động với một ứng dụng cơ bản trong Android – Calculator:

-  Mở ứng dụng Calculator trên Android
-  Nhấn vào một số (5)
-  Nhấn dấu công (+)
-  Nhấn vào số thứ hai (6)
-  Nhấn dấu bằng (=)

>> Kiểm tra kết quả hiển thị (11)

2. Các bước chuẩn bị 

-  Để mã kiểm thử kết nối với thiết bị Android thông qua Appium, chúng ta cần tên của thiết bị.
-  Để có thể khởi động được một ứng dụng thông qua Appium, chúng ta cần hai giá trị đại diện cho một ứng dụng trong trong Android: Package và Activity
-  Để tương tác với các đối tượng UI, chúng ta cần các thông tin về đối tượng UI thông qua UIAutomator hay Appium Inspect

3. Lấy tên của thiết bị 

Để lấy tên của thiết bị đang được kết nối với máy tính, chúng ta sử dụng câu lệnh adb devices trong màn hình console:

4. Tìm Package và Activity của một ứng dụng 

Có nhiều cách để chúng ta có thông tin về Package/Activity của một ứng dụng:

-  Thông qua một ứng dụng thứ ba – ví dụ như APK Info và UIAutomatorViewer
-  Thông qua tập tin AndroidManifest.xml của ứng dụng, cách này chúng ta cần có tập tin APK của ứng dụng
-  Đọc tập tin log khi ứng dụng đang hoạt động – adb logcat
-  Hỏi trực tiếp các kỹ sư phát triển

Ở đây, mình dùng cách đơn giản nhất, dùng một ứng dụng thứ ba để có thông tin cần thiết:

-  Đầu tiên, chúng ta sẽ cài đặt ứng dụng APK Info từ Google Play
-  Khởi động ứng dụng APK Info, chúng ta sẽ có một danh sách các ứng dụng có trong thiết bị
-  Lựa chọn ứng dụng Calculator và hiển thị các thông tin của ứng dụng, bao gồm Package và Activity. Đối với một số ứng dụng mặc định của Android (như ứng dụng Calculator), APK Info không thể lấy được thông tin về Package nên chúng ta chỉ lấy thông tin về Activity.

-  Đối với thông tin Package, chúng ta có thể sử dụng công cụ UIAutomatorViewer

5. Lấy thông tin về đối tượng UI 

Theo bài trước về công cụ UIAutomatorViewer, chúng ta có các đối tượng mà kịch bản kiểm thử cần tương tác, vì ứng dụng này khá cơ bản nên mình sẽ dùng những cách khác nhau để xác định đối tượng UI:

-  Nút số 5: By.id(‘com.android.calculator2:id/digit5’)
-  Nút cộng: By.xpath(“//android.widget.Button[@text=’+’]”)
-  Nút số 6: By.id(“com.android.calculator2:id/digit6”)
-  Nút bằng: By.xpath(“//android.widget.Button[@text=’=’]”)
-  Hiển thị kết quả: By.className(“android.widget.EditText”)

6. Viết mã kiểm thử

-  // Thiết lập các thông tin để kết nối với thiết bị Android và khởi động ứng dụng Calculator
-  DesiredCapabilities capabilities = new DesiredCapabilities();
-  capabilities.setCapability(“deviceName”, “emulator-5554”);
-  capabilities.setCapability(“platformName”, “Android”);
-  capabilities.setCapability(“appPackage”, “com.android.calculator2”);
-  capabilities.setCapability(“appActivity”,”com.android.calculator2.Calculator”);
-  // Khởi tạo các đối tượng driver để thực thi kiểm thử
-  AndroidDriver driver = new AndroidDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);
-  driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

-  // Các bước tương tác với ứng dụng
-  driver.findElement(By.id(“com.android.calculator2:id/digit5”)).click();
-  driver.findElement(By.xpath(“//android.widget.Button[@text=’+’]”)).click();
-  driver.findElement(By.id(“com.android.calculator2:id/digit6”)).click();
-  driver.findElement(By.xpath(“//android.widget.Button[@text=’=’]”)).click();
-  // Kiểm tra kết quả hiển thị
-  Assert.assertEquals(“11”, driver.findElement(By.className(“android.widget.EditText”)).getText());
-  // Kết thúc kiểm thử bằng việc đóng ứng dụng
-  driver.quit();


BTV.Trần Thị Thu Huyền
Phòng Truyền Thông IMicroSoft Việt Nam
Hotline: 0916 878 224
Email: huyenttt@imicrosoft.edu.vn

 

LÝ DO THỰC TẾ TẠI SAO TESTER/QA LÀ MỘT LỰA CHỌN NGHỀ NGHIỆP TỐT HIỆN NAY!!!

👉👉 Khóa đào tạo nhân sự Kiểm thử phần mềm chuyên nghiệp?
Chương trình đào tạo Kiểm Thử Phần Mềm Chuyên Nghiệp được thiết kế dựa trên nhu cầu thực tế kiểm thử tại các doanh nghiệp phần mềm lớn đang hoạt động tại Việt Nam hiện nay như: FPT Software, KMS, BOSCH, DXC etc. Gồm có: 
1) Định hướng phát triển nghề nghiệp Kiểm Thử Phần Mềm theo lộ trình phát triển chuyên nghiệp Manual, Automation, Performance, Securrity.
2) Lập trình C#/Java cơ bản dành cho kiểm thử viên.
3) Kỹ năng làm việc và phân tích lỗi.
4) Tổng quan kiểm thử phần mềm.
5) Quy trình phát triển và kiểm thử phần mềm hiện đại.
6) Thực hành các công cụ thực tế hiện đang sử dụng tại các doanh nghiệp phần mềm tại Việt Nam (Github, DevOps, SVN etc).
7) Kiểm thử cơ bản và chuyên sâu Manual Software Testing.
8) Kiến thức nghiệp vụ chuyên ngành: y tế (healthcare)/bảo hiểm (insurance)/ngân hàng (banking) etc.
9) Tiếng anh chuyên ngành kiểm thử phần mềm.
10) Kinh nghiệm viết CV và phỏng vấn bằng tiếng anh tại các công ty lớn.

👉👉 Lời cam kết của khóa đào tạo nhân sự này?
🎁 Đây là khóa đào tạo đầy đủ và chi tiết nhất về Kiểm thử phần mềm từ trước đến nay.
🎁 Cam kết chất lượng đào tạo, các bài thực hành trong khóa đào tạo là các "Case Study" rất thực tế mà Chuyên gia IMIC đã dành nhiều tâm huyết biên soạn và đã đưa vào khóa đào tạo này.
🎁 Tất cả các phần trong khóa đào tạo được diễn đạt một cách trực quan nhất, dễ hiểu nhất, bạn dễ dàng vận dụng được các kiến thức chuyên môn vào công việc dự án web thực tế tại Doanh nghiệp.
🎁 Cam kết hỗ trợ học viên sau khóa học nhiệt tình qua: Group Zalo, Facebook, Website, Email.
⚠️ Đặc biệt! Cam kết chắc chắn bạn sẽ hoàn toàn tự tin đi làm ngay về Kiểm thử phần mềm khi tốt nghiệp khóa đào tạo này. 
Nhưng với điều kiện bạn phải nghiêm túc, chăm chỉ học tập, nỗ lực xem bài làm bài cũng như chủ động thảo luận với
Chuyên gia khi gặp vướng mắc. Ngược lại "lười học" thì không nhé!

 

 
Bạn đang muốn tìm kiếm 1 công việc với mức thu nhập cao.
✅ Hoặc là bạn đang muốn chuyển đổi công việc mà chưa biết theo học ngành nghề gì cho tốt.
✅ Giới thiệu với bạn Chương trình đào tạo nhân sự dài hạn trong 12 tháng với những điều đặc biệt mà chỉ có tại IMIC và đây cũng chính là sự lựa chọn phù hợp nhất dành cho bạn:
👉 Thứ nhất: Học viên được đào tạo bài bản kỹ năng, kiến thức chuyên môn lý thuyết, thực hành, thực chiến nhiều dự án và chia sẻ những kinh nghiệm thực tế từ Chuyên gia có nhiều năm kinh nghiệm dự án cũng như tâm huyết truyền nghề.
👉 Thứ hai: Được ký hợp đồng cam kết chất lượng đào tạo cũng như mức lương sau tốt nghiệp và đi làm tại các đối tác tuyển dụng của IMIC. Trả lại học phí nếu không đúng những gì đã ký kết.
👉 Thứ ba: Cam kết hỗ trợ giới thiệu công việc sang đối tác tuyển dụng trong vòng 10 năm liên tục.
👉 Thứ tư: Được hỗ trợ tài chính với mức lãi suất 0 đồng qua ngân hàng VIB Bank.
👉  Có 4 Chương trình đào tạo nhân sự dài hạn dành cho bạn lựa chọn theo học. Gồm có:
1)  Data Scientist full-stack
2)  Embedded System & IoT development full-stack
3)  Game development full-stack
4)  Web development full-stack 
✅ Cảm ơn bạn đã dành thời gian lắng nghe những chia sẻ của mình. Và tuyệt vời hơn nữa nếu IMIC được góp phần vào sự thành công của bạn. 
✅ Hãy liên hệ ngay với Phòng tư vấn tuyển sinh để được hỗ trợ về thủ tục nhập học.
✅ Chúc bạn luôn có nhiều sức khỏe và thành công!
 

Tham khảo các khóa đào tạo nhân sự qua danh mục