บทช่วยสอน APPIUM สำหรับ Android & การทดสอบแอพมือถือ iOS

ความหมายของ Appium?

APPIUM คือ UI ของแอปพลิเคชันมือถือโอเพ่นซอร์สที่แจกจ่ายฟรี การทดสอบ กรอบ. Appium อนุญาตการทดสอบเนทิฟ ไฮบริด และเว็บแอปพลิเคชัน และรองรับการทดสอบอัตโนมัติบนอุปกรณ์ฟิสิคัล เช่นเดียวกับโปรแกรมจำลองหรือโปรแกรมจำลองทั้งสองอย่าง มีการทดสอบแอปพลิเคชันข้ามแพลตฟอร์ม เช่น API เดียวใช้ได้กับทั้งสองแพลตฟอร์ม Android และสคริปต์ทดสอบแพลตฟอร์ม iOS

แต่ก็มี NO พึ่งพาระบบปฏิบัติการอุปกรณ์พกพา เนื่องจาก APPIUM มีเฟรมเวิร์กหรือแรปเปอร์ที่แปล Selenium คำสั่ง Webdriver ใน UIAutomation (iOS) หรือ UIAutomator (Android) คำสั่งขึ้นอยู่กับประเภทอุปกรณ์ ไม่ใช่ประเภท OS ใดๆ

Appium รองรับทุกภาษาที่มี Selenium ไลบรารีไคลเอนต์เช่น - Java, วัตถุประสงค์ -C, Javaต้นฉบับ ด้วย node.js, PHP, Ruby, Python, ค#, เป็นต้น

APPIUM ทำงานอย่างไร?

  • Appium เป็น 'เซิร์ฟเวอร์ HTTP' ที่เขียนโดยใช้ Node.js แพลตฟอร์มและขับเคลื่อน iOS และ Android เซสชันโดยใช้โปรโตคอลแบบใช้สาย Webdriver JSON ดังนั้นก่อนที่จะเริ่มต้น Appium เซิร์ฟเวอร์ จะต้องติดตั้ง Node.js ไว้ล่วงหน้าในระบบ
  • เมื่อ Appium ดาวน์โหลดและติดตั้งแล้ว จากนั้นเซิร์ฟเวอร์จะได้รับการตั้งค่าบนเครื่องของเราซึ่งเปิดเผย REST API
  • ได้รับการร้องขอการเชื่อมต่อและคำสั่งจากไคลเอนต์และดำเนินการคำสั่งนั้นบนอุปกรณ์มือถือ (Android /ไอโอเอส)
  • มันตอบกลับด้วยการตอบสนอง HTTP เพื่อดำเนินการตามคำขอนี้ จะใช้เฟรมเวิร์กการทดสอบอัตโนมัติบนมือถือเพื่อขับเคลื่อนอินเทอร์เฟซผู้ใช้ของแอป กรอบเช่น:-
    • Apple Instruments สำหรับ iOS (เครื่องดนตรีมีเฉพาะใน Xcode 3.0 หรือใหม่กว่าพร้อม OS X v10.5 ขึ้นไป)
    • Google UIAutomator สำหรับ Android API ระดับ 16 หรือสูงกว่า
    • Selendroid เป็นเวลา Android API ระดับ 15 หรือน้อยกว่า

ข้อกำหนดเบื้องต้นในการใช้ APPIUM

  1. ติดตั้ง ANDROID SDK (Studio)[ลิงค์]-
  2. ติดตั้ง JDK (Java ชุดพัฒนา) [ลิงค์]
  3. การติดตั้ง Eclipse [ลิงค์]
  4. ติดตั้ง TestNg สำหรับ Eclipse [ลิงค์]
  5. การติดตั้ง Selenium เซิร์ฟเวอร์จาร์ [ลิงค์]
  6. Appium ห้องสมุดลูกค้า[ลิงค์]
  7. ข้อมูลแอป APK บน Google Play [ลิงค์]
  8. js (ไม่จำเป็น – เมื่อใดก็ตามที่ Appium ติดตั้งเซิร์ฟเวอร์แล้ว โดยค่าเริ่มต้นจะมาพร้อมกับ “Node.exe” & NPM มันรวมอยู่ในเวอร์ชันปัจจุบันของ Appium.)
  9. การติดตั้ง Appium เดสก์ทอป

การติดตั้ง Appium เดสก์ทอป

Appium Studio เป็นแอป Open Source GUI ที่จะติดตั้ง Appium เซิร์ฟเวอร์ มาพร้อมกับข้อกำหนดเบื้องต้นทั้งหมดสำหรับการติดตั้งและใช้งาน Appium เซิร์ฟเวอร์ นอกจากนี้ยังมีตัวตรวจสอบเพื่อรับข้อมูลพื้นฐานเกี่ยวกับแอพของคุณ มันมาพร้อมกับเครื่องบันทึกเพื่อสร้างโค้ดสำเร็จรูปเพื่อทำให้แอปมือถือของคุณเป็นแบบอัตโนมัติ

ขั้นตอน 1) ไปที่ http://appium.io/ และคลิกที่ดาวน์โหลด Appium.

การติดตั้ง Appium เดสก์ทอป

ขั้นตอน 2) สำหรับ Windowsให้เลือกไฟล์ exe แล้วดาวน์โหลด ไฟล์นี้มีขนาดประมาณ 162MB จะใช้เวลาดาวน์โหลดนานขึ้นอยู่กับความเร็วอินเทอร์เน็ตของคุณ

การติดตั้ง Appium เดสก์ทอป

ขั้นตอน 3) คลิกที่ exe ที่ดาวน์โหลดมา

การติดตั้ง Appium เดสก์ทอป

ขั้นตอน 4) เกี่ยวกับ Windows เครื่องก็ไม่ต้องติดตั้ง Appium. มันรันโดยตรงจากไฟล์ exe เมื่อคุณคลิกไฟล์ exe คุณจะเห็นภาพต่อไปนี้เป็นเวลาไม่กี่นาที

การติดตั้ง Appium เดสก์ทอป

สำหรับ Mac คุณต้องติดตั้ง dmg

ขั้นตอน 5) ถัดไปคุณจะเห็นหน้าต่างเริ่มเซิร์ฟเวอร์ มันเติมตัวเลือกโฮสต์และพอร์ตเริ่มต้นซึ่งคุณสามารถเปลี่ยนแปลงได้ นอกจากนี้ยังกล่าวถึงเวอร์ชันของ Appium กำลังใช้.

การติดตั้ง Appium เดสก์ทอป

ขั้นตอน 6) เมื่อคลิกปุ่มเริ่มเซิร์ฟเวอร์ เซิร์ฟเวอร์ใหม่จะเปิดใช้งานบนโฮสต์และพอร์ตที่ระบุ แสดงเอาต์พุตบันทึกเซิร์ฟเวอร์

การติดตั้ง Appium เดสก์ทอป

ขั้นตอน 7) คลิกหน้าต่างเซสชันใหม่.

การติดตั้ง Appium เดสก์ทอป

ขั้นตอน 8) คุณสามารถป้อนความสามารถที่ต้องการและเริ่มเซสชันได้

การติดตั้ง Appium เดสก์ทอป

เจ้าหน้าที่ตรวจสอบ APPIUM

คล้ายกับ Selenium เครื่องมือบันทึกและเล่น IDE Appium มี 'สารวัตร' เพื่อบันทึกและเล่น โดยจะบันทึกและเล่นพฤติกรรมแอปพลิเคชันดั้งเดิมโดยการตรวจสอบ DOM และสร้างสคริปต์ทดสอบในภาษาที่ต้องการ อย่างไรก็ตามในปัจจุบันยังไม่มีการสนับสนุนสำหรับ Appium สารวัตรสำหรับ Microsoft Windows. ใน Windowsมันเปิดตัว Appium เซิร์ฟเวอร์แต่ล้มเหลวในการตรวจสอบองค์ประกอบ อย่างไรก็ตาม โปรแกรมดู UIAutomator สามารถใช้เป็นตัวเลือกสำหรับการตรวจสอบองค์ประกอบได้

ขั้นตอนในการเริ่มต้น Appium ตัวตรวจสอบบนเครื่อง Mac: -

ขั้นตอน 1) ดาวน์โหลดและเริ่มต้นของคุณ Appium เซิร์ฟเวอร์ที่มีที่อยู่ IP เริ่มต้น 0.0.0.0 และพอร์ต 4725

  1. เลือกไฟล์ต้นฉบับหรือไฟล์ .app จากในเครื่องเพื่อทดสอบ
  2. ทำเครื่องหมายที่ช่อง 'เส้นทางแอป' เพื่อเปิดใช้งานปุ่ม 'เลือก'

ขั้นตอน 2)ตอนนี้คลิกที่ปุ่ม 'เลือก' จะให้ตัวเลือกในการเรียกดูและเลือกไฟล์ทดสอบจากไดรฟ์ในเครื่อง

เจ้าหน้าที่ตรวจสอบ APPIUM

ขั้นตอน 3) เริ่ม Simulator บนเครื่อง Mac

ขั้นตอน 4) คลิกปุ่ม 'เปิด' จากมุมขวาบน ซึ่งจะเป็นการเปิดไอคอนสีน้ำเงิน อีกครั้งให้คลิกที่ไอคอนสีฟ้านี้ มันจะเปิดขึ้นมา Appium ตรวจสอบและจำลองด้วยแอปพลิเคชันที่เลือกไว้ล่วงหน้า

เจ้าหน้าที่ตรวจสอบ APPIUM

ขั้นตอน 5)– เปิดตัวของคุณ Appium โปรแกรมตรวจสอบจะแสดงลำดับชั้นขององค์ประกอบในโครงสร้างแบบคอลัมน์ นอกจากนี้ ผู้ใช้ยังสามารถใช้ปุ่มต่างๆ เช่น แตะ ปัด เป็นต้น

เจ้าหน้าที่ตรวจสอบ APPIUM

ขั้นตอน 6) คลิกที่ปุ่ม 'หยุด' เพื่อหยุดการบันทึก

แนบ Android โปรแกรมจำลองการ Appium

ขั้นตอน 1) การติดตั้ง Android SDK ในระบบของคุณ

ไปที่แผงควบคุม >> ระบบและความปลอดภัย >> ระบบ และจากแผงด้านซ้ายให้คลิกที่ 'การตั้งค่าระบบขั้นสูง' จากป๊อปอัป 'คุณสมบัติของระบบ' ให้คลิกที่แท็บ 'ขั้นสูง' จากนั้นคลิกที่ปุ่ม "ตัวแปรสภาพแวดล้อม"

แนบ Android โปรแกรมจำลองการ Appium

ขั้นตอน 2) ตอนนี้ จากหน้าต่างป็อปอัป 'ตัวแปรสภาพแวดล้อม' ให้คลิกสองครั้งที่ 'เส้นทาง' และตั้งค่าตัวแปร ANDROID_HOME ที่ชี้ไปยังไดเร็กทอรี SDK ของคุณ จากนั้นเพิ่มเส้นทางโฟลเดอร์ SDK ทั้งหมดลงในเส้นทาง

เช่น -

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

แนบ Android โปรแกรมจำลองการ Appium

ขั้นตอน 3) เริ่มของคุณ Android โปรแกรมจำลองหรือไฟล์แนบใด ๆ Android อุปกรณ์เข้ากับระบบของคุณ (ตรวจสอบให้แน่ใจว่าคุณมี Android ตัวเลือกการดีบักเปิดใช้งานในของคุณ Android อุปกรณ์. เพื่อตรวจสอบตัวเลือกการดีบัก ไปที่การตั้งค่าอุปกรณ์ >> ตัวเลือกสำหรับนักพัฒนา >> ตรวจสอบ “ตัวเลือกการแก้ไขจุดบกพร่อง”)

ขั้นตอน 4) เปิด Command Prompt แล้วไปที่ของคุณ Android ไดเร็กทอรี \platform-tools\ ของ SDK (เช่น D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools)

ขั้นตอน 5)– เรียกใช้คำสั่ง 'อุปกรณ์ adb' คุณสามารถดูอุปกรณ์ที่เชื่อมต่อของคุณแสดงอยู่ในหน้าต่างพร้อมรับคำสั่ง (ใน CMD เขียน '>adb devices'- คำสั่งนี้จะแสดงรายการอินสแตนซ์จำลองที่เชื่อมต่ออยู่ เช่น: adb –s emulator-5554 install -

แนบ Android โปรแกรมจำลองการ Appium

ขั้นตอน 6)– เรียกใช้คำสั่ง 'adb start-server' มันจะเริ่มต้นเซิร์ฟเวอร์ ADB ที่จะใช้งานโดย Appium เพื่อส่งคำสั่งถึงคุณ Android เครื่อง

ขั้นตอน 7) ตอนนี้ไปที่ Appium ไดเร็กทอรีในระบบของคุณและเริ่มต้น Appium โดยคลิกที่ Appiumไฟล์.exe

ขั้นตอน 8) อย่าเปลี่ยนที่อยู่ IP หรือหมายเลขพอร์ตแล้วคลิกปุ่ม 'เปิด' ของคุณ Appium คอนโซลเริ่มต้นที่ 127.0.0.1:4723 ดังแสดงด้านล่าง

แนบ Android โปรแกรมจำลองการ Appium

ขั้นตอน 9) คลิกที่ปุ่ม 'เริ่ม' Appium เซิร์ฟเวอร์เริ่มทำงานบนระบบของคุณ

กรณีทดสอบ APPIUM สำหรับ Native Android แอพ (เครื่องคิดเลข)

ขั้นตอน 1)) ดาวน์โหลดปลั๊กอิน ADT eclipse หรือดาวน์โหลด ADT ที่รวมมาแยกต่างหาก Good Farm Animal Welfare Awards

ขั้นตอน 2) จุดเปิด Eclipse และสร้าง Project ใหม่ >> Package >> Class

ขั้นตอน 3) นำเข้า Selenium ห้องสมุดและ ทดสอบ ภายในโครงการใหม่นั้น

ขั้นตอน 4) ตอนนี้สร้างโปรแกรมทดสอบขนาดเล็กสำหรับ 'Calculator.app' เพื่อรวมผลรวมของสองตัวเลข

package src_Appium;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
//import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;


public class Calculator {
WebDriver driver;

@BeforeClass
public void setUp() throws MalformedURLException{
	//Set up desired capabilities and pass the Android app-activity and app-package to Appium
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability("BROWSER_NAME", "Android");
	capabilities.setCapability("VERSION", "4.4.2"); 
	capabilities.setCapability("deviceName","Emulator");
	capabilities.setCapability("platformName","Android");
 
   
   capabilities.setCapability("appPackage", "com.android.calculator2");
// This package name of your app (you can get it from apk info app)
	capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app)
//Create RemoteWebDriver instance and connect to the Appium server
 //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities
   driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@Test
public void testCal() throws Exception {
   //locate the Text on the calculator by using By.name()
   WebElement two=driver.findElement(By.name("2"));
   two.click();
   WebElement plus=driver.findElement(By.name("+"));
   plus.click();
   WebElement four=driver.findElement(By.name("4"));
   four.click();
   WebElement equalTo=driver.findElement(By.name("="));
   equalTo.click();
   //locate the edit box of the calculator by using By.tagName()
   WebElement results=driver.findElement(By.tagName("EditText"));
	//Check the calculated value on the edit box
assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6";

}

@AfterClass
public void teardown(){
	//close the app
	driver.quit();
}
}

Appium เซิร์ฟเวอร์และ Android โปรแกรมจำลองจาก 'AVD Manager' และคลิก Run >> TestNGโปรแกรมด้านบนจะรัน 'Calculator.app' บนโปรแกรมจำลองที่เลือกและแสดงผลลัพธ์ภายใต้ Eclipse คอนโซลโดยใช้ TestNG กรอบ.

ข้อจำกัดในการใช้ APPIUM

  1. Appium ไม่รองรับการทดสอบของ Android เวอร์ชันต่ำกว่า 4.2
  2. การสนับสนุนที่จำกัดสำหรับการทดสอบแอปไฮบริด เช่น ไม่สามารถทดสอบการสลับแอปพลิเคชันจากเว็บแอปไปเป็นเนทีฟและในทางกลับกันได้
  3. ไม่มีการสนับสนุนให้ทำงาน Appium สารวัตรเปิดอยู่ Microsoft Windows.

ข้อผิดพลาดที่พบบ่อยและขั้นตอนการแก้ไขปัญหา Appium

ความผิดพลาด ขั้นตอนการแก้ไขปัญหา
ข้อผิดพลาด: จำเป็นต้องมีความสามารถตามต้องการต่อไปนี้ แต่ไม่ได้ระบุไว้: ชื่ออุปกรณ์ ชื่อแพลตฟอร์ม เพิ่มความสามารถที่ต้องการ: ชื่ออุปกรณ์, ชื่อแพลตฟอร์มในสคริปต์ APPIUM เช่น:capabilities.setCapability (“deviceName”,”Emulator”); capabilities.setCapability (“platformName”,”Android");
ข้อผิดพลาด: ไม่พบ adb โปรดตั้งค่าตัวแปรสภาพแวดล้อม ANDROID_HOME ด้วย Android เส้นทางไดเรกทอรีราก SDK คุณอาจต้องตั้งค่าเส้นทางไดเรกทอรีรากของ SDK ในระบบ 'ตัวแปรสภาพแวดล้อม' ในคอลัมน์ 'เส้นทาง'
ข้อผิดพลาด:org.openqa.selenium.SessionNotCreatedException: ไม่สามารถสร้างเซสชันใหม่ได้ คุณต้องตั้งค่าเส้นทางแอปที่ถูกต้องและรีสตาร์ท Appium เซิร์ฟเวอร์
วิธีค้นหาองค์ประกอบ DOM หรือ XPath ในแอปพลิเคชันบนมือถือ? ใช้ 'UIAutomatorviewer' เพื่อค้นหาองค์ประกอบ DOM Android แอพลิเคชัน