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

  • 相关阅读:
    SEO网站优化10大要点
    三维翻动效果的jquery特效代码
    多款国外虚拟主机简单比较
    jquery同步调用ajax
    3D虚拟技术
    最简单jquery.ajax+php例子(对话框显示文本框输入内容),以小见大(初学手记)
    正则表达式学习博客
    关于XHTML头部声明,什么是DOCTYPE?
    Iframe高度自适应(兼容IE/Firefox、同域/跨域)
    3D立体产业链的发展现状和趋势
  • 原文地址:https://www.cnblogs.com/lincj/p/6004265.html
Copyright © 2011-2022 走看看