[Automation Testing]-Test Android Browser với Selenium WebDriver và Appium

Do có yêu cầu của một bạn QA trong công ty và phần thưởng là 2 cái bánh gato to đùng :D, mình có thêm hứng tìm hiểu về cách chạy automation testing trên thiết bị di động. Sau một hồi tìm hiểu trên mạng, mình đã chọn Appium kết hợp với Selenium WebDriver vì thấy hai công cụ này khá dễ cài đặt và sử dụng. Dưới đây mình xin mô tả cách cài đặt, cách viết và chạy chương trình với selenium webdriver và appium một cách cơ bản nhất :).

1. Giới thiệu selenium webdriver và appium
– Selenium là một công cụ mã nguồn mở để kiểm thử các ứng dụng web trên các trình duyệt khác nhau (Chrome, IE, FF, …) và hệ điều hành khác nhau (Mac, Windows, Ubuntu …)
– Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động (test automation) các ứng dụng trên nền tảng iOS và Android
– Để kiểm thử được các ứng dụng Web tren nền tảng iOS và Android, ta có thể kết hợp giữa selenium webdriver và appium.
2016-06-01_12h07_17
– Dưới đây là hướng dẫn cài đặt và cách viết chương trình đơn giản đầu tiên với Appium/Selenium. Đây là hướng dẫn cho máy Windows.

2. Cài đặt môi trường trên máy Windows
2.1-Java Software Development Kit (JDK)
– Download link: http://www.oracle.com/technetwork/java/javase/downloads/index.html
2016-05-31_16h12_49
– Thực hiện cài đặt
– Sau khi cài đặt xong, tiến hành cài đặt biến môi trường JAVA_HOME và PATH
set ANDROID_HOME=C:\đường dẫn đến thư mục jdk]
Ví dụ:
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_91
set PATH=%PATH%;%JAVA_HOME%\bin

2.2- Eclipse IDE for Java EE Developers
– Download link: http://www.eclipse.org/downloads/
2016-05-31_16h11_36
– Thực hiện cài đặt

2.3- Selenium WebDriver Jar
– Download link: http://docs.seleniumhq.org/download/
2016-05-31_16h05_45
– Gói jar sau khi download sẽ được dùng để add vào thư viện trên eclipse

2.4- Appium Java Client
– Download link: https://search.maven.org/#search%7Cga%7C1%7Cg%3Aio.appium%20a%3Ajava-client
2016-05-31_16h09_54
– Gói jar sau khi download sẽ được dùng để add vào thư viện trên eclipse

2.5- Appium(Server)
– Download link: http://appium.io/
2016-05-31_16h15_42
– Thực hiện cài đặt

2.6-Android SDK / ADB on Windows
– Download link: https://developer.android.com/studio/index.html
2016-05-31_16h16_42
– Sau khi cài đặt xong, tiến hành cài đặt biến môi trường ANDROID_HOME và PATH
set ANDROID_HOME=C:\đường dẫn đến thư mục sdk]
Ví dụ:
set ANDROID_HOME=C:\Users\TrangHH\AppData\Local\Android\sdk
set PATH=%PATH%%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\platforms

– Mở command line, gõ “android”, cài đặt một số thư viện cần thiết
2016-06-01_11h29_35

3. Viết và chạy chương trình
3.1. Setup appium server và start
– Setup appium server
2016-05-31_17h01_20

2016-06-01_09h37_57

3.2. Kết nối máy android với máy tính
– Bật chế độ USB debugging trên điện thoại
2
– Sử dụng cable để kết nối với máy tính
– Kiểm tra kết nối bằng lệnh: adb devices
2016-06-01_09h39_18

3.3. Viết chương trình trên eclipse
– Tạo project trên eclipse
– Cài đặt TestNG trên eclipse
– Add library đã download ở mục 1.3- Selenium WebDriver Jar và 1.4- Appium Java Client vào project (Right click trên project → BuildPath → Configure Build Path → Add library
– Viết code như dưới đây:

package mobileTest;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.BrowserType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;

public class appiumTest {
@Test
public void test1() throws MalformedURLException{
// Create object of DesiredCapabilities class
DesiredCapabilities capabilities=DesiredCapabilities.android();

// set the capability to execute test in chrome browser
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,BrowserType.CHROME);

// set the capability to execute test in Android Platform
capabilities.setCapability(MobileCapabilityType.PLATFORM,Platform.ANDROID);

// Set define platform name
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");

// Set the device name (you can give any name)
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"my phone");

// set the android version
capabilities.setCapability(MobileCapabilityType.VERSION,"5.1.1");

// Create object of URL class and specify the appium server address
URL url= new URL("http://127.0.0.1:4723/wd/hub");

// Create object of AndroidDriver class
WebDriver driver = new AndroidDriver(url, capabilities);

// Open url
driver.get("http://live.guru99.com/index.php/customer/account/login/");

// print the title
System.out.println("Title "+driver.getTitle());

// enter email
driver.findElement(By.id("email")).sendKeys("dangphuong2985@gmail.com");

// enter password
driver.findElement(By.id("pass")).sendKeys("123456");

// click on submit button
driver.findElement(By.id("send2")).click();

// close the browser
driver.quit();
}
}

3.4. Vậy là xong, đến lúc run và theo dõi kết quả thôi 😀

4. Tài liệu tham khảo:
http://appium.io/
http://guru99.com

Trên đây là cách chạy web app trên android. Những bài viết tiếp theo, mình sẽ viết về cách chạy native app trên android hoặc ios. Cảm ơn mọi người.
(to be continued)

Add a Comment

Scroll Up