2015-09-14 53 views
6

使用appium在android模拟器上执行自动化测试。模拟器中的浏览器在通过代码实现自动化时不会打开。我已经在下面复制了我的代码,请亲切看看并帮助我。在此先感谢使用Appium脚本自动化android模拟器和浏览器

package report; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.util.List; 
import java.util.concurrent.TimeUnit; 

import javax.swing.JOptionPane; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.firefox.FirefoxProfile; 
import org.openqa.selenium.remote.CapabilityType; 
import org.openqa.selenium.remote.DesiredCapabilities; 
import org.openqa.selenium.remote.RemoteWebDriver; 
import org.testng.annotations.BeforeTest; 
import org.testng.annotations.Test; 


public class emulator { 
WebDriver driver; 

public void setUp() throws MalformedURLException 
{ 
DesiredCapabilities capabilities= new DesiredCapabilities(); 
capabilities.setCapability(CapabilityType.BROWSER_NAME,"browser"); 
capabilities.setCapability(CapabilityType.VERSION,"4.4"); 
capabilities.setCapability(CapabilityType.PLATFORM,"windows"); 
capabilities.setCapability("platformName","Android"); 
capabilities.setCapability("devices","Android"); 
capabilities.setCapability("avd","nexus"); 
capabilities.setCapability("deviceName",""); 
capabilities.setCapability("appPackage", "com.android.browser"); 
capabilities.setCapability("appActivity", "com.android.browser.BrowserActivity"); 
driver=new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
} 



public void cal(){ 
driver.get("http://www.google.com"); 

} 
public static void main(String[] args) throws MalformedURLException 
{ 
emulator a=new emulator(); 
a.setUp(); 
a.cal();   
} 
} 
+0

您遇到什么错误或异常? –

+0

我得到这个错误“一个操作没有完成之前,其超时过期(原始错误:超时:30秒后超时Adb命令” – bcrajkumar

+0

是的,这是因为默认的Android模拟器需要太多的时间来打开和加载,请尝试真正的设备或Genymotion模拟器.. –

回答

5

锁定屏幕将禁用我们的程序的其他脚本。所以我尝试手动打开模拟器并禁用锁定屏幕(设置 - >安全 - >无)。然后关闭模拟器。现在自动打开模拟器并运行脚本。

public void setUp(int p) throws MalformedURLException { 
    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "browser"); 
    capabilities.setCapability(CapabilityType.VERSION, ""); 
    capabilities.setCapability(CapabilityType.PLATFORM, "windows"); 
    capabilities.setCapability("platformName", "Android"); 
    capabilities.setCapability("udid", "emulator-" + p); 
    capabilities.setCapability("devices", "Android"); 
    capabilities.setCapability("avd", "Nexus7"); 
    capabilities.setCapability("deviceName", ""); 
    capabilities.setCapability("appPackage", "com.android.browser"); 
    capabilities.setCapability("appActivity", "com.android.browser.BrowserActivity"); 
    driver = new RemoteWebDriver(new URL("http://127.0.0.1:" + this.port + "/wd/hub"), 
      capabilities); 
}