2015-09-14 15 views
6

Durchführen von Automatisierungstest auf Android-Emulator mit Appium. Browser im Emulator wird nicht geöffnet, wenn es über Code automatisiert wird. Ich habe meinen unten stehenden Code kopiert, schaue ihn mir an und hilf mir. Vielen Dank im VorausAutomatisierung von Android-Emulator und Browser mit Appium-Skript

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

Welchen Fehler oder Ausnahme erhalten Sie? –

+0

Ich erhalte diesen Fehler "Ein Vorgang wurde nicht abgeschlossen, bevor sein Timeout abgelaufen ist. (Ursprünglicher Fehler: Timeout: Adb-Befehl abgelaufen nach 30 Sekunden" – bcrajkumar

+0

Ja, weil Standard-Android-Emulator zu viel Zeit zum Öffnen und Laden benötigt. Bitte versuchen mit echtem Gerät oder Genymotion Emulator .. –

Antwort

5

Der Sperrbildschirm deaktiviert das andere Skript unseres Programms. Also habe ich versucht den Emulator manuell zu öffnen und den Sperrbildschirm zu deaktivieren (Einstellungen -> Sicherheit -> Keine). Schließen Sie dann den Emulator. Öffnen Sie nun den Emulator automatisch und führen Sie das Skript aus.

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); 
} 
Verwandte Themen