[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.
– 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
– 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/
– Thực hiện cài đặt
2.3- Selenium WebDriver Jar
– Download link: http://docs.seleniumhq.org/download/
– 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
– 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/
– Thực hiện cài đặt
2.6-Android SDK / ADB on Windows
– Download link: https://developer.android.com/studio/index.html
– 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
3. Viết và chạy chương trình
3.1. Setup appium server và start
– Setup appium server
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
– 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
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)