appium 多個設備同時執行


 

測試需要同時在多個android設備上運行,就需要啟動多個appium

使用adb命令獲取udid,命令:adb get-serialno

使用的是testng測試框架,代碼使用java編寫

第一台,運行真機,代碼如下:

import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import io.appium.java_client.android.AndroidDriver;

public class StartGoogle {
	
	public AndroidDriver driver;

	@BeforeClass
	public void startTest() throws MalformedURLException {
		
		DesiredCapabilities capabilities = new DesiredCapabilities();
		capabilities.setCapability("platformName","Android");
		capabilities.setCapability("deviceName","860BDMD2229B");
		capabilities.setCapability("udid", "860BDMD2229B");
		//capabilities.setCapability("deviceName","860BDMD2229B");
		capabilities.setCapability("platformVersion", "7.0.0");
		capabilities.setCapability("browserName", "Chrome");
		//capabilities.setCapability("browserName", "Browser");
		driver = new AndroidDriver(new URL("http://127.0.0.1:4725/wd/hub"), capabilities);
		driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
	}

	@AfterClass
	public void afterClass() {
		
		driver.quit();
	}

	@Test
	public void addContact() throws InterruptedException {
		Thread.sleep(2000);
		//打開百度首頁
		driver.get("https://www.baidu.com");
		//輸入框元素
		WebElement inputBox = driver.findElement(By.id("index-kw"));
		//輸入JAVA關鍵字
		inputBox.sendKeys("JAVA");
		Thread.sleep(2000);
		//百度一下按鈕
		WebElement searchButton = driver.findElement(By.id("index-bn"));
		//點擊百度一下按鈕
		searchButton.click();
		
		Thread.sleep(5000);

	}
}

  

第二台運行在模擬器,代碼如下:

import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import io.appium.java_client.android.AndroidDriver;

public class Sammydress_login {
	
	public AndroidDriver driver;

	@BeforeClass
	public void startTest() throws MalformedURLException {
		
		DesiredCapabilities capabilities = new DesiredCapabilities();
		capabilities.setCapability("platformName","Android");
		//capabilities.setCapability("deviceName","860BDMD2229B");
		capabilities.setCapability("deviceName","192.168.35.102:5555");
		capabilities.setCapability("udid", "192.168.35.102:5555");
		capabilities.setCapability("platformVersion", "7.0.0");
		//capabilities.setCapability("platformVersion", "5.1");
		//capabilities.setCapability("browserName", "Chrome");
		capabilities.setCapability("browserName", "Browser");
		driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
		driver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS);
	}

	@AfterClass
	public void afterClass() {
		
		driver.quit();
	}
	
	/**
	 * 登錄測試
	 * @throws InterruptedException 
	 */
	@Test
	public void SD_login() throws InterruptedException{
		
		driver.get("http://wap-sammydress.com.trunk.s1.egomsl.com/");
		driver.findElement(By.id("js_top_cate")).click();
		Thread.sleep(3000);
		driver.findElement(By.cssSelector("#nav > div > ul > li:nth-child(2) > p")).click();
		Thread.sleep(5000);
		driver.findElement(By.cssSelector("#header > div.top.on > a.icon_tag.top_user.isnoLogin")).click();
		Thread.sleep(2000);
		
		driver.findElement(By.id("email")).sendKeys("18666904557@163.com");
    	driver.findElement(By.id("passwordsign")).sendKeys("jiang861107");
    	driver.findElement(By.id("js_signInBtn")).click();
    	
    	Thread.sleep(2000);
	}

}

必須要加一條配置:capabilities.setCapability("udid", "xxxxx");

啟動多個appium ,設置不同的端口號,同時運行這兩個類,就可以同時測試兩個實例了。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM