2015-09-14 4 views
6

का उपयोग कर एंड्रॉइड एमुलेटर और ब्राउज़र स्वचालित रूप से एपियम का उपयोग करके एंड्रॉइड एमुलेटर पर स्वचालन परीक्षण करना। कोड के माध्यम से स्वचालित होने पर एमुलेटर में ब्राउज़र खुलता नहीं है। मैंने नीचे अपना कोड कॉपी किया है कृपया इसे देखो और मेरी मदद करें। अग्रिम धन्यवादऐपियम स्क्रिप्ट

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 सेकंड के बाद एडब कमांड का समय समाप्त हो गया" – bcrajkumar

+0

हां ऐसा इसलिए है क्योंकि डिफ़ॉल्ट एंड्रॉइड एमुलेटर को खोलने और लोड करने में बहुत अधिक समय लगता है। कृपया कोशिश करें असली डिवाइस या जेनिमोशन एमुलेटर के साथ .. –

उत्तर

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); 
} 
0

जब मोबाइल ब्राउज़र पर काम कर हम apppackage और appactivitiy की तरह सब से ऊपर desiredcapabilities पारित करने के लिए नहीं की जरूरत है। आप आवश्यक क्षमताओं का विवरण देख सकते हैं @http://qaautomationcafe.blogspot.in/2015/09/mobile-web-automation-using-appium.html