Ví dụ về hướng dẫn sử dụng Selendroid cho người mới bắt đầu

Mục lục:

Anonim

Bạn đã bao giờ phát triển ứng dụng Android và xuất bản nó lên Google Play chưa? Bạn sẽ làm gì nếu nhận được đánh giá của người dùng như -

Khi bạn xuất bản một ứng dụng lên Google Play, ứng dụng đó phải được kiểm tra kỹ lưỡng để tránh các lỗi tiềm ẩn. Có rất nhiều kịch bản thử nghiệm cần được thực hiện trước khi xuất bản ứng dụng. Để tiết kiệm nỗ lực Kiểm tra, bạn cần một công cụ kiểm tra. Một trong những công cụ kiểm tra tốt nhất cho ứng dụng Android là Selendroid.

  • Selendroid là gì?
  • Tại sao chúng ta cần Selendroid?
  • Kiến trúc Selendroid
  • Bắt đầu với Selendroid
  • Thiết lập môi trường Selendroid
  • Cách khởi chạy Selendroid
  • Lệnh cơ bản của Selendroid
  • Bắt đầu thử nghiệm đầu tiên của bạn với Selendroid

Selendroid là gì?

Selendroid là một khuôn khổ tự động hóa thử nghiệm cho nhiều loại ứng dụng di động: ứng dụng Android gốckết hợp và web di động .

Bạn có thể viết các bài kiểm tra bằng cách sử dụng các API ứng dụng khách Selenium 2. Vì Selendroid vẫn sử dụng lại cơ sở hạ tầng Selenium hiện có cho web

Selendroid là một công cụ kiểm tra mạnh mẽ. Nó có thể được sử dụng trên trình giả lậpthiết bị thực

Tại sao chúng ta cần Selendroid?

Selendroid là một công cụ kiểm tra tuyệt vời. Nhưng bạn vẫn có thể nghi ngờ tính hữu ích của nó.

Phần này sẽ giới thiệu các tính năng quan trọng của Selendroid để trả lời câu hỏi tại sao bạn cần Selendroid.

  • Bạn có thể kiểm tra ứng dụng đang thử nghiệm bằng Selendroid mà không cần bất kỳ sửa đổi nào đối với ứng dụng. Bạn chỉ cần cài đặt tệp nhị phân (APK) trên máy tính. Để cài đặt tệp nhị phân trên thiết bị, ứng dụng thử nghiệm và ứng dụng dành cho thiết bị di động phải được ký bằng cùng một khóa dấu
  • Ứng dụng thử nghiệm Selendroid có thể tương tác với nhiều thiết bị hoặc trình mô phỏng đồng thời. Đó là một lợi thế lớn của Selendroid. Vì vậy, bạn có thể thử nghiệm ứng dụng của mình với các thiết bị Android khác nhau để kiểm tra khả năng tương thích.
  • Selendroid có thể mô phỏng các hành động của con người-người dùng trên một ứng dụng, chẳng hạn như chạm, vuốt, kéo và thả trên thiết bị
  • Bạn có thể thay đổi thiết bị phần cứng (Cắm và rút phích cắm) trong quá trình thử nghiệm mà không cần khởi động lại hoặc dừng thử nghiệm. Selendroid tự động nhận dạng các thiết bị mới
  • Tương ứng với phiên bản Android API trở lên, Selendroid cũng hỗ trợ Android API mới (Từ API 10 đến API 19)
  • Selendroid cũng có một số công cụ kiểm tra tích hợp để giúp bạn xác định phần tử giao diện người dùng của một ứng dụng đang được thử nghiệm. Ví dụ: nút ID, trường văn bản, chế độ xem văn bản…

Kiến trúc Selendroid

Selendroid dựa trên khung thiết bị Android. Các bài kiểm tra Selendroid được viết dựa trên API ứng dụng khách trình điều khiển Web Selenium, vì vậy nó hỗ trợ tích hợp đầy đủ với các khung công tác Selenium hiện tại.

Hình sau mô tả kiến ​​trúc của Selendroid

Selendroid chứa 4 thành phần chính:

  • Máy khách Trình điều khiển Web - Thư viện máy khách Java dựa trên Selenium. Thư viện này phải được cài đặt trên máy tính (được sử dụng để phát triển các trường hợp thử nghiệm)
  • Selendroid-Server - Máy chủ chạy trong ứng dụng đang được thử nghiệm trên thiết bị hoặc trình mô phỏng Android. Đây là các thành phần chính của kiến ​​trúc Selendroid
  • Android Driver-App - Trình điều khiển Android cài sẵn, ứng dụng Web View để kiểm tra web di động.
  • Selendroid-Standalone - Thành phần này được sử dụng để cài đặt máy chủ Selendroid và ứng dụng đang được thử nghiệm (AUT)

Bắt đầu với Selendroid

Bạn đã biết tầm quan trọng của Selendroid. Bây giờ chúng ta hãy làm bẩn tay với Selendroid.

Có 3 bước cần được thực hiện trước khi thử nghiệm đầu tiên với Selendroid

Thiết lập môi trường Selendroid

Selendroid có thể hoạt động trên Window, Linux và Mac OS. Trong hướng dẫn này, chúng tôi sẽ thiết lập Selendroid trong Window OS.

Trước khi sử dụng Selendroid, trước tiên bạn cần cài đặt gói sau

  • Java SDK (tối thiểu 1.6)

    Bạn phải chấp nhận thỏa thuận cấp phép và tải xuống trình cài đặt java (Chọn x64 hoặc x86 dựa trên hệ điều hành của bạn)

    Tải xuống và cài đặt Java SDK như một phần mềm bình thường

  • Phiên bản Android SDK mới nhất
  • Máy tính của bạn phải có ít nhất một Thiết bị ảo Android (AVD) hoặc một thiết bị Android thực được cắm vào PC.
  • Selendroid Độc lập với các phụ thuộc, Selendroid Client và Selenium Client
  • Phần mềm Eclipse
  • Thiết lập JAVA_HOME và ANDROID_HOME

    Bước 1) Trên Window, nhấp chuột phải vào Máy tính -> Thuộc tính -> Cài đặt Hệ thống Nâng cao

    Bước 2) Hiển thị cửa sổ Thuộc tính Hệ thống, chọn tab Nâng cao -> Biến Môi trường

    Bước 3) Cửa sổ Môi trường hiển thị, nhấp vào Mới -> Nhập biến ANDROID_HOME như sau

    Giá trị biến là đường dẫn đến android-sdks mà bạn đã cài đặt.

    Tìm biến hệ thống Đường dẫn -> Chỉnh sửa -> Thêm dòng sau vào sau dòng hiện tại

    Tương tự với ANDROID_HOME, thêm biến mới JAVA_HOME với giá trị như bên dưới

    Giá trị là Đường dẫn đến cài đặt Java JDK của bạn

    Bước 4) Khởi động lại PC của bạn -> Xong

Cách khởi chạy Selendroid

Bước 1) Đang kiểm tra ứng dụng

Bạn có thể sử dụng ứng dụng thử nghiệm Selendroid hiện có để kiểm tra xem Selendroid hoạt động như thế nào (Liên kết đến ứng dụng mẫu đang thử nghiệm)

Sau khi quá trình tải xuống hoàn tất, hãy sao chép APK này và tệp jar Selendroid Standalone ở trên vào một thư mục có tên " Guru99"

Bước 2) Khởi chạy Selendroid

Mở terminal trên Windows và điều hướng đến thư mục Guru99 đã tạo ở bước 1.

Chạy lệnh sau

Đầu ra sẽ hiển thị như sau

Sau khi chạy lệnh này, máy chủ HTTP độc lập của Selendroid sẽ khởi động! Số cổng mặc định của máy chủ này là 4444. Tất cả thiết bị phần cứng, cũng như Thiết bị ảo Android, sẽ được quét và nhận dạng tự động. Selendroid sẽ xác định phiên bản mục tiêu Android và kích thước màn hình thiết bị.

Để kiểm tra phiên bản đích Android cũng như thông tin thiết bị, bạn có thể khởi chạy URL sau trên trình duyệt:

http: // localhost: 4444 / wd / hub / status.

Lệnh cơ bản của Selendroid

Phần này giới thiệu cho bạn một số dòng lệnh Selendroid-Standalone cơ bản. Bạn có thể sử dụng chúng để thiết lập môi trường thử nghiệm Selendroid

  1. Thiết lập cổng của Selendroid

    Cổng mặc định của Selendroid là 4444. Nhưng bạn có thể đổi sang cổng khác bằng cách thêm tham số vào lệnh để khởi chạy Selendroid

    Tham số: -port [số cổng]

    Ví dụ:

    Trong lệnh trên, 5555 là cổng mới.

Vì vậy, URL để kiểm tra phiên bản đích Android được thay đổi thành: http: // localhost: 5555 / wd / hub / status

  1. Chỉ định vị trí của ứng dụng đang thử nghiệm (tệp APK nhị phân). Selendroid thường yêu cầu đường dẫn tuyệt đối cho tệp này

    Tham số: -app [đường dẫn tệp]

    Ví dụ:

    Trong lệnh trên, Selendroid tự động tìm tệp nhị phân trên cơ sở "C: \ Guru99App.apk" để lấy thông tin của ứng dụng đang được kiểm tra.

    Kiểm tra URL http: // localhost: 4444 / wd / hub / status, bạn sẽ thấy thông tin này

  2. Thay đổi cổng mà Selendroid sử dụng để giao tiếp với máy chủ thiết bị đo đạc. Selendroid sử dụng cổng 8080 làm mặc định

    Tham số: -selendroidServerPort [số cổng]

    Thí dụ

    Cổng bây giờ được đổi thành 9000

  3. Thay đổi thời gian chờ để khởi động trình giả lập. Đơn vị là mili giây.

    Tham số: -timeoutEmulatorStart

    Theo mặc định, Selendroid sẽ đợi 300.000 mili giây cho đến khi trình giả lập khởi động. Bạn có thể thay đổi thời gian chờ mới (200.000 mili giây) bằng lệnh

    Sau thời gian này, nếu trình giả lập không thể khởi động, Selendroid sẽ xuất hiện lỗi ngoại lệ (Lỗi xảy ra khi tìm kiếm thiết bị / trình giả lập.) Sau đó ngừng chạy

  4. Khi bạn bắt đầu lệnh Selendroid trên thiết bị đầu cuối, bạn sẽ thấy một nhật ký được in ra trên màn hình. Bạn có thể thay đổi loại nhật ký bạn thấy bằng cách thêm thông số sau

    Tham số: -logLevel [loại nhật ký]

    Các giá trị cấp nhật ký là LỖI, CẢNH BÁO, THÔNG TIN, GỢI Ý và ĐỘNG TỪ. Mặc định: ERROR.

    Ví dụ: đặt Selendroid chỉ in nhật ký CẢNH BÁO, bạn có thể sử dụng lệnh này

    Selendroid chỉ in nhật ký CẢNH BÁO

Bắt đầu thử nghiệm đầu tiên của bạn với Selendroid

Phần này là hướng dẫn từng bước để tạo tập lệnh thử nghiệm đầu tiên của bạn bằng Selendroid

Giả sử chúng ta có một ứng dụng Android dưới tên thử nghiệm Guru99App. Ứng dụng này bao gồm một trường văn bản và tên nút "Hiển thị Văn bản".

TẢI APK TẠI ĐÂY

Chúng tôi cần thực hiện Test Case sau bằng Selendroid

Các trường hợp kiểm tra

Tình trạng

Sản lượng mong đợi:

  1. Chạy chương trình
  2. Nhập văn bản " Guru99 Test " vào trường văn bản
  3. Nhấn nút "Hiển thị Văn bản"

Có sẵn tệp nhị phân của ứng dụng đang được kiểm tra

Một thiết bị được kết nối với PC

Văn bản "Văn bản Hiển thị ở đây" được thay đổi thành văn bản

người dùng nhập vào trường văn bản nào

Bước 1) Tạo một dự án Java trong Eclipse

Bước 2) Thêm tệp jar selen và Selendroid trong môi trường nhật thực

Nhấp chuột phải vào Dự án Guru99Test -> Đường dẫn xây dựng -> Thêm lưu trữ bên ngoài

Điều hướng đến thư mục lưu trữ các tệp jar

Có 3 tệp jar cần được thêm vào

  • selendroid-client-0.10.0.jar: Thư viện ứng dụng khách java của Selendroid
  • selendroid-standalone-0.11.0-with-dependencies: Thư viện máy chủ độc lập Selendroid
  • selenium-java-2.40.0.jar: Thư viện trình điều khiển web Selenium

Chọn tất cả -> Chọn Mở để thêm tệp jar vào dự án

Bước 3) sau khi thêm thư viện trên, các thư viện đó sẽ được thêm vào Thư viện tham khảo của dự án thử nghiệm. Người thử nghiệm có thể sử dụng API của các thư viện đó để phát triển chương trình thử nghiệm

Tạo gói "com.guru.test" và thêm tệp java "Guru99Test.java" như bên dưới

Nhấp chuột phải vào Guru99Test -> Mới -> Gói

Gõ com.guru.test vào trường Tên trên hộp thoại Gói Java Mới à Kết thúc

Eclipse sẽ tạo các thư mục danh sách và thư mục con như thế này trong cấu trúc mã nguồn

Bước 4) Cài đặt TestNG cho Eclipse

Trong Eclipse, Trợ giúp -> Cài đặt Phần mềm Mới, trong Hộp thoại Cài đặt, bấm Thêm và nhập thông tin sau

  • Tên: TestNG
  • Vị trí: http://selendroid.io/

Nhấn OK -> Next để cài đặt TestNG

Bước 5) Sao chép Guru99App.apk vào thư mục Ứng dụng thử nghiệm

Bước 6) Lấy ID của một ứng dụng đang được thử nghiệm.

Giả sử chúng ta có tên tệp APK Guru99App.apk. Làm theo bước được mô tả trong phần trước, thực hiện lệnh trên thiết bị đầu cuối

Mở liên kết sau trong trình duyệt

http: // localhost: 4444 / wd / hub / status.

Thông tin của thiết bị được hiển thị, hãy sao chép giá trị appId "com.guru99app: 1.0"

Bước 7) Mở tệp Guru99Test.java (trong mã mẫu) và thay đổi như sau

Để tạo phiên thử nghiệm mới với Selendroid, bạn phải cung cấp id ứng dụng ở định dạng: com.guru99app: 1.0. Id ứng dụng này có thể được xác định ở bước 6. Nếu bạn không đặt Id ứng dụng phù hợp với thiết bị Android, phiên kiểm tra sẽ gặp lỗi và không bắt đầu.

Sau khi khởi tạo thiết bị được tìm thấy, Selendroid tạo một máy chủ selendroid tùy chỉnh và cài đặt máy chủ Selendroid trên đó

Selendroid cũng cài đặt ứng dụng đang được thử nghiệm và khởi động máy chủ selendroid trên thiết bị

Sau khi khởi tạo phiên kiểm tra thành công, lệnh kiểm tra được bắt đầu thực thi trên một thiết bị. (Chẳng hạn như nhập văn bản, nhấn nút

…). Nếu thử nghiệm nối phiên thử nghiệm, trình mô phỏng sẽ tự động dừng

Bước 8) Bắt đầu phiên kiểm tra mới

Khởi chạy máy chủ Selendroid bằng lệnh sau trên thiết bị đầu cuối như bước 6

Sau khi Selendroid Server khởi động, mở dự án thử nghiệm mẫu Guru99test trên Eclipse, đặt breakpoint tại dòng 77 trên tệp Guru99Test.java bằng cách nhấp đúp chuột vào dòng 77 -> Một dấu chấm sẽ hiển thị như bên dưới

Bắt đầu phiên kiểm tra bằng cách Nhấp chuột phải vào dự án Guru99Test -> Gỡ lỗi dưới dạng -> Kiểm tra thử nghiệm.

Một phiên kiểm tra sẽ bắt đầu như bên dưới

Bước 9) Lấy Id của phần tử GUI của một ứng dụng đang được thử nghiệm

Sau khi phiên kiểm tra bắt đầu thành công, hãy mở trình duyệt, điều hướng đến URL http: // localhost: 4444 / ins Inspector

Bạn sẽ thấy Ứng dụng Đang Thử nghiệm được khởi chạy như bên dưới

Sử dụng di chuột đến từng phần tử giao diện người dùng của AUT (Nút, Trường văn bản, Nhãn văn bản), ID của mỗi phần tử sẽ nổi bật trên khung bên phải

Sau bước này, bạn có thể nhận được ID của từng phần tử giao diện người dùng ở trên

  • Nút Hiển thị ID Văn bản: " btnShow "
  • ID trường văn bản: " edtText "
  • ID văn bản nhãn: " txtView "

Những ID đó sẽ được sử dụng trong bước tiếp theo

Bước 10) Vào chương trình kiểm tra như bên dưới

Một chương trình thử nghiệm sử dụng Selendroid bao gồm 3 phần

Kiểm tra thiết lập:

Sau đây là mã để kiểm tra thiết lập, nó sẽ thiết lập điều kiện cho một phiên kiểm tra. Trong trường hợp xảy ra lỗi, Selendroid sẽ đưa ra ngoại lệ và ứng dụng kiểm tra sẽ dừng lại.

Đoạn mã bao gồm các chú thích để giải thích từng câu lệnh.

gói com.guru.test;nhập io.selendroid.SelendroidCapabilities;nhập io.selendroid.SelendroidConfiguration;nhập io.selendroid.SelendroidDriver;nhập io.selendroid.SelendroidLauncher;nhập io.selendroid.device.DeviceTargetPlatform;nhập org.openqa.selenium.By;nhập org.openqa.selenium.WebDriver;nhập org.openqa.selenium.WebElement;nhập khẩu org.testng.Assert;nhập org.testng.annotations.AfterSuite;nhập org.testng.annotations.BeforeSuite;nhập org.testng.annotations.Test;/ *** Ứng dụng thử nghiệm @author Guru99 sử dụng Selendroid* Ứng dụng đang thử nghiệm: Guru99App** /công cộngclass Guru99Test {// Khai báo biến trình điều khiển webtrình điều khiển WebDriver riêng;/ *** Thiết lập môi trường trước khi thử nghiệm* Ngoại lệ @throws* /@BeforeSuitecông cộngvoid setUp () ném Ngoại lệ {// Khởi động selendroid-standalone trong quá trình kiểm traSelendroidConfiguration config = new SelendroidConfiguration ();// Thêm selendroid-test-app vào máy chủ độc lậpconfig.addSupportedApp ("Guru99App.apk");// khởi động máy chủ độc lậpSelendroidLauncher selendroidServer = mới SelendroidLauncher (cấu hình);selendroidServer.launchSelendroid ();// Tạo các khả năng của selendroidSelendroidCapabilities capa = new SelendroidCapabilities ();// Chỉ định sử dụng ứng dụng thử nghiệm của selendroidcapa.setAut ("com.guru99app: 1.0");// Chỉ định sử dụng API thiết bị Android 19capa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Không yêu cầu trình mô phỏng, hãy sử dụng thiết bị thựccapa.setEmulator (sai);//capa.wait(10000000);// Tạo phiên bản của Trình điều khiển Selendroiddriver = new SelendroidDriver (capa);}

Thực thi kiểm tra

Dưới đây là mã để thực hiện một bài kiểm tra. Mã bao gồm các bình luận

Đây là các bước kiểm tra lại

  1. Nhập văn bản "Xin chào Guru"
  2. Nhấp vào Hiển thị nút Văn bản
  3. Đợi một lúc
  4. Xác minh rằng ứng dụng hiển thị văn bản khi người dùng nhập vào trường văn bản (Ví dụ: Hiển thị văn bản "Xin chào Guru")
 / *** Bắt đầu thực hiện test case* 01. Nhập văn bản "Selendroid" vào trường văn bản* 02. Nhấn nút OK* Ngoại lệ @throws* /@Kiểm tracông cộngvoid selendroidTest () ném Ngoại lệ {// In nhật kýSystem.out.print ("Bắt đầu thực hiện kiểm tra");// Tìm trường văn bản đầu vào trên màn hình// Id của trường văn bản này được lấy từ bước 9WebElement inputField = driver.findElement (By.id ("edtText"));// Xác minh rằng trường văn bản được bật để người dùng có thể nhập văn bảnAssert.assertEquals ("true", inputField.getAttribute ("đã bật"));// Nhập một trường văn bản thành văn bảninputField.sendKeys ("Xin chào Guru");// nhấp vào nút Hiển thị văn bản// Id của nút này được lấy từ bước 9Nút WebElement = driver.findElement (By.id ("btnShow"));button.click ();// Thời gian trì hoãn để có hiệu lựcThread.sleep (5000);// Tìm nhãn "Text Show Here" trên màn hình// Id của nhãn này được lấy từ bước 9WebElement txtView = driver.findElement (By.id ("txtView"));// Nhận hiển thị văn bản trên màn hìnhChuỗi dự kiến ​​= txtView.getText ();// Xác minh rằng văn bản mà người dùng nhập vào trường văn bản giống với văn bản hiển thị trên màn hìnhAssert.assertEquals (mong đợi, inputField.getText ());}

Kết thúc kiểm tra

Đoạn mã sau sẽ hoàn thành quá trình kiểm tra bằng cách dừng trình điều khiển Selendroid.

 / *** Dừng trình điều khiển Selendroid** /@AfterSuitecông cộngvoid ráchDown () {driver.quit ();}

Bạn có thể xem chi tiết trong mã mẫu có trong bài viết này.

Bước 10) Kết nối thiết bị Android với PC qua cáp USB. Những điểm cần quan sát -

  • Hãy đảm bảo rằng thiết bị không có khóa màn hình được định cấu hình.
  • Thiết bị phải được cắm qua USB vào máy tính có cấu phần độc lập của selendroid đang chạy.
  • Thiết bị phải cài đặt ít nhất API phiên bản mục tiêu Android 10

Bước 11) Chạy ứng dụng kiểm tra: Nhấp chuột phải vào Guru99test -> Chạy dưới dạng -> Kiểm tra TestNG

Bước 10) Bắt đầu tập lệnh được thực thi như sau

Bước 12) Sau khi kết thúc quá trình kiểm tra, TestNG tự động tạo báo cáo kiểm tra như sau

Good Job, bạn đã hoàn thành bài kiểm tra ngay bây giờ.

Tóm lược

Tóm lược

  • Selendroid là một công cụ rất mạnh để kiểm tra ứng dụng gốc Android, ứng dụng kết hợp cũng như ứng dụng web.
  • Nó có thể được sử dụng trên các thiết bị thực cũng như trình mô phỏng.
  • Nó cũng cho phép bạn chạy thử nghiệm song song bằng cách chạy thử nghiệm trên nhiều thiết bị.
  • Toàn bộ bộ Selendroid bao gồm bốn thành phần:
    • Ứng dụng khách Trình điều khiển web,
    • Selendroid-Server,
    • Ứng dụng trình điều khiển Android
    • Selendroid-độc lập
  • Để sử dụng Selendroid, bạn cần cài đặt Java JDK, Android SDK và Eclipse.