@BeforeClass
public void setUp() throws MalformedURLException{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName","Nexus 6");
capabilities.setCapability("platformVersion", "7.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.android.calculator2");
capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app)
@Test
public void testCal() throws Exception {
WebElement two=driver.findElement(By.name("2"));
two.click();
WebElement plus=driver.findElement(By.name("+"));
plus.click();
WebElement four=driver.findElement(By.name("4"));
four.click();
WebElement equalTo=driver.findElement(By.name("="));
equalTo.click();
WebElement results=driver.findElement(By.tagName("EditText"));
assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6";
}
@AfterClass
public void teardown(){
//close the app
driver.quit();
}
}
Error Log:
[Appium] Welcome to Appium v1.6.5
[Appium] Non-default server args:
[Appium] address: 127.0.0.1
[Appium] Appium REST http interface listener started on 127.0.0.1:4723
[HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"appPackage":"com.android.calculator2","appActivity":"com.android.calculator2.Calculator","VERSION":"7.0","platformName":"Android","deviceName":"Nexus 6"}}
[MJSONWP] Calling AppiumDriver.createSession() with args: [{"appPackage":"com.android.calculator2","appActivity":"com.android.calculator2.Calculator","VERSION":"7.0","platformName":"Android","deviceName":"Nexus 6"},null,null]
[BaseDriver] Event 'newSessionRequested' logged at 1502101796160 (15:59:56 GMT+0530 (India Standard Time))
[Appium] Creating new AndroidDriver (v1.20.0) session
[Appium] Capabilities:
[Appium] appPackage: 'com.android.calculator2'
[Appium] appActivity: 'com.android.calculator2.Calculator'
[Appium] VERSION: '7.0'
[Appium] platformName: 'Android'
[Appium] deviceName: 'Nexus 6'
[AndroidDriver] AndroidDriver version: 1.20.0
[BaseDriver] The following capabilities were provided, but are not recognized by appium: VERSION.
[BaseDriver] Session created with session id: 456db7ce-ee8d-4a08-9b8a-5b87a84ac541
[AndroidDriver] Getting Java version
[AndroidDriver] Java version is: 1.8.0_121
[ADB] Checking whether adb is present
[ADB] Using adb.exe from C:\Users\avinashv\AppData\Local\Android\sdk\platform-tools\adb.exe
[AndroidDriver] Retrieving device list
[ADB] Trying to find a connected android device
[ADB] Getting connected devices...
[ADB] 1 device(s) connected
[AndroidDriver] Using device: ZX1G426CV3
[ADB] Checking whether adb is present
[ADB] Using adb.exe from C:\Users\avinashv\AppData\Local\Android\sdk\platform-tools\adb.exe
[ADB] Setting device id to ZX1G426CV3
[AndroidDriver] App file was not listed, instead we're going to run com.android.calculator2 directly on the device
[AndroidDriver] Checking whether package is present on the device
[ADB] Getting connected devices...
[ADB] 1 device(s) connected
[ADB] Running 'C:\Users\avinashv\AppData\Local\Android\sdk\platform-tools\adb.exe' with args: ["-P",5037,"-s","ZX1G426CV3","shell","pm","list","packages","com.android.calculator2"]
[AndroidDriver] Error: Could not find package com.android.calculator2 on the device
at Object.wrappedLogger.errorAndThrow (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-support\lib\logging.js:63:13)
at AndroidDriver.checkPackagePresent$ (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\driver.js:370:11)
at tryCatch (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:37)
at process._tickCallback (internal/process/next_tick.js:103:7)
Error: Could not find package com.android.calculator2 on the device
at Object.wrappedLogger.errorAndThrow (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-support\lib\logging.js:63:13)
at AndroidDriver.checkPackagePresent$ (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\driver.js:370:11)
at tryCatch (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22)
when i trying to run a sample program(calculator) using Appium in Eclipse, i am getting the below error. can some one please assist me here.
Program: package com.nbos.FirstProject; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.*;
public class LoginPage { WebDriver driver;
@BeforeClass public void setUp() throws MalformedURLException{
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); }
@Test public void testCal() throws Exception { WebElement two=driver.findElement(By.name("2")); two.click(); WebElement plus=driver.findElement(By.name("+")); plus.click(); WebElement four=driver.findElement(By.name("4")); four.click(); WebElement equalTo=driver.findElement(By.name("=")); equalTo.click(); WebElement results=driver.findElement(By.tagName("EditText")); assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6"; }
@AfterClass public void teardown(){ //close the app driver.quit(); } }
Error Log:
[Appium] Welcome to Appium v1.6.5 [Appium] Non-default server args: [Appium] address: 127.0.0.1 [Appium] Appium REST http interface listener started on 127.0.0.1:4723 [HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"appPackage":"com.android.calculator2","appActivity":"com.android.calculator2.Calculator","VERSION":"7.0","platformName":"Android","deviceName":"Nexus 6"}} [MJSONWP] Calling AppiumDriver.createSession() with args: [{"appPackage":"com.android.calculator2","appActivity":"com.android.calculator2.Calculator","VERSION":"7.0","platformName":"Android","deviceName":"Nexus 6"},null,null] [BaseDriver] Event 'newSessionRequested' logged at 1502101796160 (15:59:56 GMT+0530 (India Standard Time)) [Appium] Creating new AndroidDriver (v1.20.0) session [Appium] Capabilities: [Appium] appPackage: 'com.android.calculator2' [Appium] appActivity: 'com.android.calculator2.Calculator' [Appium] VERSION: '7.0' [Appium] platformName: 'Android' [Appium] deviceName: 'Nexus 6' [AndroidDriver] AndroidDriver version: 1.20.0 [BaseDriver] The following capabilities were provided, but are not recognized by appium: VERSION. [BaseDriver] Session created with session id: 456db7ce-ee8d-4a08-9b8a-5b87a84ac541 [AndroidDriver] Getting Java version [AndroidDriver] Java version is: 1.8.0_121 [ADB] Checking whether adb is present [ADB] Using adb.exe from C:\Users\avinashv\AppData\Local\Android\sdk\platform-tools\adb.exe [AndroidDriver] Retrieving device list [ADB] Trying to find a connected android device [ADB] Getting connected devices... [ADB] 1 device(s) connected [AndroidDriver] Using device: ZX1G426CV3 [ADB] Checking whether adb is present [ADB] Using adb.exe from C:\Users\avinashv\AppData\Local\Android\sdk\platform-tools\adb.exe [ADB] Setting device id to ZX1G426CV3 [AndroidDriver] App file was not listed, instead we're going to run com.android.calculator2 directly on the device [AndroidDriver] Checking whether package is present on the device [ADB] Getting connected devices... [ADB] 1 device(s) connected [ADB] Running 'C:\Users\avinashv\AppData\Local\Android\sdk\platform-tools\adb.exe' with args: ["-P",5037,"-s","ZX1G426CV3","shell","pm","list","packages","com.android.calculator2"] [AndroidDriver] Error: Could not find package com.android.calculator2 on the device at Object.wrappedLogger.errorAndThrow (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-support\lib\logging.js:63:13) at AndroidDriver.checkPackagePresent$ (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\driver.js:370:11) at tryCatch (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40) at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22) at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21) at GeneratorFunctionPrototype.invoke (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:37) at process._tickCallback (internal/process/next_tick.js:103:7) Error: Could not find package com.android.calculator2 on the device at Object.wrappedLogger.errorAndThrow (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-support\lib\logging.js:63:13) at AndroidDriver.checkPackagePresent$ (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\driver.js:370:11) at tryCatch (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40) at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\avinashv\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22)