启动类
- public static AndroidDriver<AndroidElement> driver;
- /**
- *>aapt d badging GJDMALL-V2.2.0.3349-436-debug-99a5c6a.apk|findstr "package launchable-activity"
- * package: name='com.jingdong.th.app' versionCode='3346' versionName='2.2.0' platformBuildVersionName='8.0.0'
- * launchable-activity: name='com.jingdong.global.app.welcome.WelcomeActivity' label=''icon=''
- * 初始化
- * @return
- * @throws Exception
- */
- public static AndroidDriver<AndroidElement> initDriver() throws Exception {
- File App = new File(".\\apk\\GJDMALL-V2.2.0.3349-436-debug-99a5c6a.apk");
- DesiredCapabilities caps = new DesiredCapabilities();
- caps.setCapability(MobileCapabilityType.DEVICE_NAME, "android");
- caps.setCapability(MobileCapabilityType.PLATFORM_NAME, "android");
- caps.setCapability(MobileCapabilityType.APPIUM_VERSION, "4.4.2");
- //caps.setCapability(MobileCapabilityType.App, App.getAbsolutePath()); // 自动安装
- caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium");
- caps.setCapability(MobileCapabilityType.DEVICE_NAME, "127.0.0.1:62001");
- caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 600);
- //caps.setCapability(MobileCapabilityType.FULL_RESET, true); // 结束后会卸载程序
- caps.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.jingdong.th.app");
- caps.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "com.jingdong.global.app.welcome.WelcomeActivity");
- caps.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, true);
- caps.setCapability(AndroidMobileCapabilityType.RESET_KEYBOARD, true);
- caps.setCapability(AndroidMobileCapabilityType.NO_SIGN, true);
- driver = new AndroidDriver<>(
- new URL("http://127.0.0.1:4723/wd/hub"), caps);
- return driver;
- }
出现错误
- HTTP] --> POST /wd/hub/session
- [HTTP] {
- "desiredCapabilities":{
- "appActivity":"com.jingdong.global.app.welcome.WelcomeActivity","appPackage":"com.jingdong.th.app","newCommandTimeout":600,"noSign":true,"appiumVersion":"4.4.2","automationName":"Appium","unicodeKeyboard":true,"platformName":"Android","udid":"127.0.0.1:62001","resetKeyboard":true
- },"capabilities":{
- "firstMatch":[{
- "appium:appActivity":"com.jingdong.global.app.welcome.WelcomeActivity","appium:appPackage":"com.jingdong.th.app","appium:appiumVersion":"4.4.2","appium:automationName":"Appium","appium:newCommandTimeout":600,"appium:noSign":true,"platformName":"android","appium:resetKeyboard":true,"appium:udid":"127.0.0.1:62001","appium:unicodeKeyboard":true
- }]
- }
- }
- [debug] [W3C] Calling AppiumDriver.createSession() with args: [{
- "appActivity":"com.jingdong.global.app.welcome.WelcomeActivity","appPackage":"com.jingdong.th.app","newCommandTimeout":600,"noSign":true,"appiumVersion":"4.4.2","automationName":"Appium","unicodeKeyboard":true,"platformName":"Android","udid":"127.0.0.1:62001","resetKeyboard":true
- },null,{
- "firstMatch":[{
- "appium:appActivity":"com.jingdong.global.app.welcome.WelcomeActivity","appium:appPackage":"com.jingdong.th.app","appium:appiumVersion":"4.4.2","appium:automationName":"Appium","appium:newCommandTimeout":600,"appium:noSign":true,"platformName":"android","appium:resetKeyboard":true,"appium:udid":"127.0.0.1:62001","appium:unicodeKeyboard":true
- }]
- }]
- [debug] [BaseDriver] Event 'newSessionRequested' logged at 1561284179583 (18:02:59 GMT+0800 (中国标准时间))
- [Appium] Could not parse W3C capabilities: 'deviceName' can't be blank
- [Appium] Trying to fix W3C capabilities by merging them with JSONWP caps
- [BaseDriver] The capabilities ["appActivity","appPackage","appiumVersion","automationName","newCommandTimeout","noSign","resetKeyboard","udid","unicodeKeyboard"] are not standard capabilities and should have an extension prefix
- *[Appium] Could not parse fixed W3C capabilities: 'deviceName' can't be blank. Falling back to JSONWP protocol*
- [debug] [BaseDriver] Event 'newSessionStarted' logged at 1561284179596 (18:02:59 GMT+0800 (中国标准时间))
- [debug] [MJSONWP] Encountered internal error running command: Error: Could not find a driver for automationName 'Appium' and platformName 'Android'. Please check your desired capabilities.
- [debug] [MJSONWP] at AppiumDriver.getDriverAndVersionForCaps (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\lib\appium.JS:205:11)
- [debug] [MJSONWP] at AppiumDriver.getDriverAndVersionForCaps [as createSession] (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\lib\appium.JS:268:66)
- [debug] [MJSONWP] at AppiumDriver.executeCommand (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@appium-base-driver\lib\basedriver\driver.JS:301:19)
- [debug] [MJSONWP] at AppiumDriver.executeCommand (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\lib\appium.JS:420:26)
- [debug] [MJSONWP] at executeCommand (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@appium-base-driver\lib\protocol\protocol.JS:352:34)
- [debug] [MJSONWP] at asyncHandler (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@appium-base-driver\lib\protocol\protocol.JS:489:15)
- [debug] [MJSONWP] at Layer.handle [as handle_request] (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\layer.JS:95:5)
- [debug] [MJSONWP] at next (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\route.JS:137:13)
- [debug] [MJSONWP] at Route.dispatch (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\route.JS:112:3)
- [debug] [MJSONWP] at Layer.handle [as handle_request] (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\layer.JS:95:5)
- [debug] [MJSONWP] at C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\index.JS:281:22
- [debug] [MJSONWP] at Function.process_params (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\index.JS:335:12)
- [debug] [MJSONWP] at next (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\index.JS:275:10)
- [debug] [MJSONWP] at logger (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@morgan\index.JS:144:5)
- [debug] [MJSONWP] at Layer.handle [as handle_request] (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\layer.JS:95:5)
- [debug] [MJSONWP] at trim_prefix (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\index.JS:317:13)
- [debug] [MJSONWP] at C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\index.JS:284:7
- [debug] [MJSONWP] at Function.process_params (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\index.JS:335:12)
- [debug] [MJSONWP] at next (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@express\lib\router\index.JS:275:10)
- [debug] [MJSONWP] at C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@body-parser\lib\read.JS:130:5
- [debug] [MJSONWP] at invokeCallback (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@raw-body\index.JS:224:16)
- [debug] [MJSONWP] at done (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@raw-body\index.JS:213:7)
- [debug] [MJSONWP] at IncomingMessage.onEnd (C:\Users\liwen406\AppData\Roaming\NPM\node_modules\appium\node_modules\[email protected]@raw-body\index.JS:273:7)
- [debug] [MJSONWP] at emitNone (events.JS:106:13)
- [debug] [MJSONWP] at IncomingMessage.emit (events.JS:208:7)
- [debug] [MJSONWP] at endReadableNT (_stream_readable.JS:1055:12)
- [debug] [MJSONWP] at _combinedTickCallback (internal/process/next_tick.JS:138:11)
- [debug] [MJSONWP] at process._tickCallback (internal/process/next_tick.JS:180:9)
解决
- public static AndroidDriver<AndroidElement> initDriver() throws Exception {
- File App = new File(".\\apk\\GJDMALL-V2.2.0.3349-436-debug-99a5c6a.apk");
- DesiredCapabilities caps = new DesiredCapabilities();
- // caps.setCapability(MobileCapabilityType.DEVICE_NAME, "android");
- // caps.setCapability(MobileCapabilityType.PLATFORM_NAME, "android");
- caps.setCapability(MobileCapabilityType.APPIUM_VERSION, "4.4.2");
- //caps.setCapability(MobileCapabilityType.App, App.getAbsolutePath()); // 自动安装
- // caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium");
- caps.setCapability(MobileCapabilityType.DEVICE_NAME, "127.0.0.1:62001");
- caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 600);
- //caps.setCapability(MobileCapabilityType.FULL_RESET, true); // 结束后会卸载程序
- caps.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.jingdong.th.app");
- caps.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "com.jingdong.global.app.welcome.WelcomeActivity");
- caps.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, true);
- caps.setCapability(AndroidMobileCapabilityType.RESET_KEYBOARD, true);
- caps.setCapability(AndroidMobileCapabilityType.NO_SIGN, true);
- driver = new AndroidDriver<>(
- new URL("http://127.0.0.1:4723/wd/hub"), caps);
- return driver;
- }
正常启动 appium
来源: http://www.bubuko.com/infodetail-3102096.html