• 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 ,设置不同的端口号,同时运行这两个类,就可以同时测试两个实例了。。。。

  • 相关阅读:
    HDU 5835 Danganronpa 贪心
    HDU 5842 Lweb and String 水题
    HDU 5832 A water problem 水题
    Codeforces Beta Round #14 (Div. 2) A. Letter 水题
    Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem K. UTF-8 Decoder 模拟题
    Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem I. Alien Rectangles 数学
    Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem H. Parallel Worlds 计算几何
    Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem F. Turning Grille 暴力
    Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem C. Cargo Transportation 暴力
    Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem G. k-palindrome dp
  • 原文地址:https://www.cnblogs.com/lincj/p/6004265.html
Copyright © 2020-2023  润新知