Selendroid Hướng dẫn cho người mới bắt đầu với ví dụ

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

Selendroid Hướng dẫn

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 một ứng dụng. Để lưu Kiểm tra nỗ lực, 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 Android ứng dụng là Selendroid.

Là gì Selendroid?

Selendroid là một khung tự động hóa thử nghiệm cho nhiều loại ứng dụng di động: tự nhiênlai Android ứng dụng và di động web.

Là gì Selendroid

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

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

Là gì Selendroid

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ờ về tính hữu dụng của nó.

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

Phần này sẽ giới thiệu những 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.

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

  • Bạn có thể kiểm tra ứng dụng đang được kiểm tra bằng cách sử dụng Selendroid mà không cần bất kỳ sửa đổi nào của ứng dụng. Bạn chỉ cần tệp nhị phân (aPK) được cài đặt 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 di động phải được ký bằng cùng một khóa ký
  • Selendroid ứng dụng thử nghiệm có thể tương tác với nhiều thiết bị hoặc trình mô phỏng cùng lúc. Đó 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 nhiều Android thiết bị để kiểm tra tính tương thích.
  • Selendroid có thể mô phỏng hành động của con người 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 các thiết bị phần cứng (Cắm và rút phích cắm) trong quá trình kiểm tra mà không cần khởi động lại hoặc dừng kiểm tra. Selendroid tự động nhận ra các thiết bị mới
  • Tương ứng với Android Phiên bản API lên, Selendroid cũng hỗ trợ cái mới Android API (Từ API 10 đến API 19)
  • Selendroid cũng có một số công cụ kiểm tra tích hợp sẵn để giúp bạn xác định thành phần UI của ứ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…

Selendroid Archikiến trúc

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

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

Selendroid Archikiến trúc

Selendroid gồm 4 thành phần chính:

Selendroid Archikiến trúc

  • Máy khách trình điều khiển web – The Java thư viện khách hàng dựa trên Selenium. Thư viện này nên đượ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 Android thiết bị hoặc trình mô phỏng. Đây là thành phần chính của một Selendroid kiến trúc
  • Android Driver-App – Tích hợp sẵn Android driver, ứ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 Selendroid máy chủ 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 mình với Selendroid.

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

Bắt đầu với Selendroid

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

Selendroid có thể làm việc trên Window, Linux và hệ điều hành Mac. Trong hướng dẫn này, chúng tôi sẽ thiết lập Selendroid trong hệ điều hành Window.

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)

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

    Tải về và cài đặt Java SDK như phần mềm thông thường

  • Phiên bản mới nhất của Android SDK
  • Máy tính của bạn phải có ít nhất một Android Thiết bị ảo (AVD) hoặc thiết bị thực Android thiết bị cắm vào PC.
  • Selendroid Độc lập với sự phụ thuộc, Selendroid Khách hàngSelenium Khách hàng
  • Eclipse phần mềm
  • 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 -> Bất động sản -> Cài đặt hệ thống nâng cao

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

    Bước 2) Cửa sổ System Properties hiển thị, chọn tab Advanced -> Biến môi trường

    Thiết lập một Selendroid 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

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

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

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

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

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

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

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

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

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

Cách khởi chạy Selendroid

Bước 1) Bắt một ứng dụng đang được thử nghiệm

Bạn có thể sử dụng hiện có Selendroid ứng dụng thử nghiệm để kiểm tra xem làm thế nào Selendroid làm (liên kết để lấy mẫu ứng dụng đang được 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à các tệp ở trên Selendroid Bình độc lập tập tin vào một thư mục có tên “Đạo sư99″

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

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

Chạy lệnh sau

Khởi động Selendroid

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

Khởi động Selendroid

Sau khi chạy lệnh này, Selendroid-máy chủ HTTP độc lập bắt đầu! 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ư Android Thiết bị ảo, sẽ được quét và nhận dạng tự động. Selendroid sẽ xác định Android phiên bản mục tiêu và kích thước màn hình thiết bị.

Để kiểm tra Android phiên bản mục tiêu 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.

Khởi động Selendroid

Selendroid lệnh cơ bản

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

  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ể thay đổ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ụ:

    Selendroid Lệnh cơ bản

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

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

  1. Chỉ định vị trí của ứng dụng đang được 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 tin này

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

    Ví dụ:

    Selendroid Lệnh cơ bản

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

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

    Selendroid Lệnh cơ bản

  2. Thay đổi cổng 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]

    Ví dụ

    Selendroid Lệnh cơ bản

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

  3. Thay đổi thời gian chờ để khởi động trình mô phỏng. Đơ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 mô phỏng khởi động. Bạn có thể thay đổi sang thời gian chờ mới (200,000 ms) bằng lệnh

    Selendroid Lệnh cơ bản

    Sau thời gian này, chúng tôi đã hết hạn, nếu trình mô phỏng không thể khởi động, Selendroid sẽ đưa ra lỗi ngoại lệ (Đã xảy ra lỗi khi tìm kiếm thiết bị/trình giả lập.) rồi ngừng chạy

  4. Khi bạn bắt đầu Selendroid lệnh trên terminal, bạn sẽ thấy một bản ghi được in ra trên màn hình. Bạn có thể thay đổi loại bản ghi bạn thấy bằng cách thêm tham 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Ỡ LỖI và ĐỘNG TỪ. Mặc định: LỖI.

    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 Lệnh cơ bản

    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 cách sử dụng Selendroid

Giả sử chúng ta có một Android ứng dụng 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 XUỐNG APK TẠI ĐÂY

Thử nghiệm đầu tiên với Selendroid

Chúng ta cần thực hiện những điều sau Trường hợp thử nghiệm sử dụng Selendroid

Các trường hợp kiểm tra Điều kiện Sản lượng mong đợi
  1. Chạy ứng dụng
  2. Nhập văn bản “Kiểm tra Guru99” vào trường văn bản
  3. Nhấn nút “Hiển thị văn bản”
Tệp nhị phân của ứng dụng đang được thử nghiệm có sẵn

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

Dòng chữ “Text Show here” được đổi thành văn bản

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

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

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

Nhấp chuột phải vào Dự án Guru99Test -> Xây dựng đường dẫn -> Thêm bên ngoài Archives

Thử nghiệm đầu tiên với Selendroid

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

Có 3 file jar nên được thêm vào

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

Chọn tất cả -> Chọn Open để thêm file jar vào dự án

Thử nghiệm đầu tiên với Selendroid

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 file java “Guru99Test.java” như bên dưới

Nhấp chuột phải vào Guru99Test -> Mới -> Bưu kiện

Thử nghiệm đầu tiên với Selendroid

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

Thử nghiệm đầu tiên với Selendroid

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

Thử nghiệm đầu tiên với Selendroid

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

In Eclipse, Trợ giúp -> Cài đặt phần mềm mới, trong hộp thoại cài đặt, nhấp vào Thêm và nhập thông tin sau

nhấn OK -> Tiếp theo để cài đặt TestNG

Thử nghiệm đầu tiên với Selendroid

Bước 5) Copy Guru99App.apk vào thư mục Test App

Thử nghiệm đầu tiên với Selendroid

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

Giả sử chúng ta có tên tệp APK Guru99App.apk. Thực hiện theo bước được mô tả trong phần trước, thực hiện lệnh trên terminal

Thử nghiệm đầu tiên với Selendroid

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ị, sao chép giá trị appId “com.guru99app:1.0”

Thử nghiệm đầu tiên với Selendroid

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

Thử nghiệm đầu tiên với Selendroid

Để tạo một 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 khớp với Android thiết bị, phiên kiểm tra sẽ báo lỗi và không bắt đầu.

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

Selendroid cũng cài đặt ứng dụng đang thử nghiệm và khởi động selendroid-server 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 sẽ bắt đầu thực thi trên thiết bị. (chẳng hạn như nhập văn bản, nhấn nút…). Nếu quá trình kiểm thử thêm phiên kiểm thử, trình mô phỏng sẽ tự động dừng

Bước 8) Bắt đầu buổi kiểm tra mới

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

Thử nghiệm đầu tiên với Selendroid

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

Thử nghiệm đầu tiên với Selendroid

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 buổi kiểm tra sẽ bắt đầu như dưới đây

Thử nghiệm đầu tiên với Selendroid

Bước 9) Lấy Id của phần tử GUI của ứ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/inspector

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

Thử nghiệm đầu tiên với Selendroid

Sử dụng di chuột tới từng thành phần UI của AUT (Button, TextField, Text Label), ID của từng thành phần sẽ nổi bật ở khung bên phải

Thử nghiệm đầu tiên với Selendroid

Sau bước này, bạn có thể lấy ID của từng thành phần UI ở 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) Nhập 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ã để thiết lập thử nghiệm, nó sẽ thiết lập điều kiện cho phiên thử nghiệm. Trong trường hợp xảy ra lỗi, Selendroid sẽ ném ngoại lệ và ứng dụng thử nghiệm sẽ dừng lại.

Mã này bao gồm các nhận xét để giải thích từng câu lệnh.

package com.guru.test;
		
 import io.selendroid.SelendroidCapabilities;
		import io.selendroid.SelendroidConfiguration;
		import io.selendroid.SelendroidDriver;
		import io.selendroid.SelendroidLauncher;
		import io.selendroid.device.DeviceTargetPlatform;
		
		import org.openqa.selenium.By;
		import org.openqa.selenium.WebDriver;
		import org.openqa.selenium.WebElement;
		import org.testng.Assert;
		import org.testng.annotations.AfterSuite;
		import org.testng.annotations.BeforeSuite;
		import org.testng.annotations.Test;
		
 /**
		 * @author Guru99 Test App using Selendroid
			 * Application under test: Guru99App
		 *
		 */
		public
				class Guru99Test {
				
				     //Declare web driver variable
		    private WebDriver driver;
					   
   
		    /**
		     * Setup the environment before testing
		     * @throws Exception
			     */
		    @BeforeSuite
		    public
					void setUp() throws Exception {
							
        //Start selendroid-standalone during test
		        SelendroidConfiguration config = new SelendroidConfiguration();
			        
		      // Add the selendroid-test-app to the standalone server
		        config.addSupportedApp("Guru99App.apk");
			        
                 
		        //start the standalone server
		        SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
			        selendroidServer.launchSelendroid();
		        
		       // Create the selendroid capabilities
		        SelendroidCapabilities capa = new SelendroidCapabilities();
			        
        
		       // Specify to use selendroid's test app
		        capa.setAut("com.guru99app:1.0");
			       
		       // Specify to use the Android device API 19
		        capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19);
			        
		        // Don't request simulator, use real device
		        capa.setEmulator(false);
			        
         
		        //capa.wait(10000000);
		        
		        // Create instance of Selendroid Driver
		        driver = new SelendroidDriver(capa);
					       
		    }
		

Thực thi kiểm tra

Dưới đây là mã để thực hiện kiểm tra. Mã bao gồm các ý kiến

Đây là các bước kiểm tra một lần nữa

  1. Nhập dòng chữ “Xin chào Thầy”
  2. Nhấp vào nút Hiển thị 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”)
 /**
		     * Start execute the test case
		     * 01. Enter the text "Selendroid" to the textfield
		     * 02. Press OK button
		     * @throws Exception
			     */
		    @Test
		    public
					void selendroidTest() throws Exception {
							        
		        // Print the log 
		        System.out.print("Start executing test");
					        
		        // Find the input text field on screen
        // The id of this text field was get from step 9
		        WebElement inputField = driver.findElement(By.id("edtText"));
					        
		        // Verify that the text field enabled so user can enter text
		        Assert.assertEquals("true", inputField.getAttribute("enabled"));
					        
		        // Enter a text to text field
		        inputField.sendKeys("Hello Guru");        
			
         // click Show Text button
        // The id of this button was get from step 9
		        WebElement button = driver.findElement(By.id("btnShow"));
					        button.click();
		        
		        // Delay time to take effect
		        Thread.sleep(5000);
		        
		        //Find the label "Text Show Here" on screen
        // The id of this label was get from step 9
		        WebElement txtView = driver.findElement(By.id("txtView"));
					        
		        //Get the text display on screen
		        String expected = txtView.getText();
		        
		// Verify that the text which user enter on text field is same as text display on screen
		        Assert.assertEquals(expected, inputField.getText());        
		
     }

Kết thúc bài kiểm tra

Đoạn mã sau sẽ hoàn tất bài kiểm tra bằng cách dừng Selendroid người lái xe.

 /**
		     * Stop the Selendroid driver
		     * 
		     */
		    @AfterSuite
		    public
					void tearDown() {
					        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 Android thiết bị với PC thông qua cáp USB. Những điểm cần quan sát –

  • Hãy đảm bảo rằng thiết bị chưa được cấu hình khóa màn hình.
  • Các thiết bị phải được cắm qua USB vào máy tính có thành phần selendroid-standalone đang chạy trên đó.
  • Thiết bị nên cài đặt ít nhất Android Target Phiên bản API 10

Bước 11) Chạy ứng dụng thử nghiệm: Nhấp chuột phải vào Guru99test -> Chạy như -> TestNG thử nghiệm

Thử nghiệm đầu tiên với Selendroid

Bước 10) Script bắt đầu được thực thi như sau

Thử nghiệm đầu tiên với Selendroid

Bước 12) Sau khi thực hiện kiểm thử xong, TestNG tự động tạo báo cáo thử nghiệm như sau

Thử nghiệm đầu tiên với Selendroid

Thử nghiệm đầu tiên với Selendroid

Làm tốt lắm, bây giờ bạn đã hoàn thành bài kiểm tra.

Tổng kết

  • Selendroid là một công cụ rất mạnh để thử nghiệm Android ứng dụng gốc, ứ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ộ Selendroid bộ gồm có bốn thành phần:
    • Máy khách Trình điều khiển Web,
    • Selendroid-Máy chủ,
    • Android Ứng dụng trình điều khiển
    • Selendroid-đứng một mình
  • sử dụng Selendroid bạn cần Java JDK, Android SDK và Eclipse cài đặt.