你好,我在 mac 上,想跑下 appium 的 sample code
但是一直报 Error: Device android not configured yet
info: Error: Device android not configured yet,
我不知道哪里出的问题.能不能帮我看下
我安装的是 appium1.0
appium log:
debug: Appium request initiated at /wd/hub/session
debug: Request received with params: {"desiredCapabilities":{"platformVersion":"4.2","app":"/Users/build/appium/sample-code/examples/java/junit/../../../apps/ContactManager/ContactManager.apk","platformName":"Android","deviceName":"GT-P5113","browserName":"","app-package":"com.example.android.contactmanager","app-activity":".ContactManager"}}
error: Trying to run a session for device 'android' but that device hasn't been configured. Run config
info: Got configuration error, not starting session
info: Cleaning up appium session
error: Failed to start an Appium session, err was: Error: Device android not configured yet
info: Error: Device android not configured yet
at Appium.configure (/usr/local/lib/node_modules/appium/lib/appium.js:264:15)
at Appium.start (/usr/local/lib/node_modules/appium/lib/appium.js:102:10)
at exports.createSession (/usr/local/lib/node_modules/appium/lib/server/controller.js:155:16)
at callbacks (/usr/local/lib/node_modules/appium/node_modules/express/lib/router/index.js:164:37)
at param (/usr/local/lib/node_modules/appium/node_modules/express/lib/router/index.js:138:11)
at pass (/usr/local/lib/node_modules/appium/node_modules/express/lib/router/index.js:145:5)
at nextRoute (/usr/local/lib/node_modules/appium/node_modules/express/lib/router/index.js7)
at callbacks (/usr/local/lib/node_modules/appium/node_modules/express/lib/router/index.js:167:11)
at /usr/local/lib/node_modules/appium/lib/server/controller.js:41:7
at callbacks (/usr/local/lib/node_modules/appium/node_modules/express/lib/router/index.js:164:37)
info: Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Device android not configured yet)","origValue":"Device android not configured yet"},"sessionId":null}
POST /wd/hub/session 500 1ms - 216b

这是跑 mvn 的 log:
admins-MacBook-Pro:junit build$ mvn -Dtest=com.saucelabs.appium.AndroidContactsTest test
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.saucelabs:sauce_appium_junit:jar:0.0.1-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 60, column 12
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 56, column 12
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]

[INFO] ------------------------------------------------------------------------
[INFO] Building sauce_appium_junit 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ sauce_appium_junit ---
[debug] execute contextualize
[WARNING] Using platform encoding (EUC_CN actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/build/appium/sample-code/examples/java/junit/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ sauce_appium_junit ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ sauce_appium_junit ---
[debug] execute contextualize
[WARNING] Using platform encoding (EUC_CN actually) to copy filtered resources, i.e. build is platform dependent!

这是 test case code:

package com.saucelabs.appium;

import io.appium.java_client.AppiumDriver;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.io.File;
import java.net.URL;
import java.util.List;

public class AndroidContactsTest {
private AppiumDriver driver;

@Before
public void setUp() throws Exception {
// set up appium
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "../../../apps/ContactManager");
File app = new File(appDir, "ContactManager.apk");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName","GT-P5113");
capabilities.setCapability("platformVersion", "4.2");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("app-package", "com.example.android.contactmanager");
capabilities.setCapability("app-activity", ".ContactManager");
driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@After
public void tearDown() throws Exception {
driver.quit();
}

@Test
public void addContact(){
WebElement el = driver.findElement(By.name("Add Contact"));
el.click();
//List textFieldsList = driver.findElementsByClassName("android.widget.EditText");
//textFieldsList.get(0).sendKeys("Some Name");
//textFieldsList.get(2).sendKeys("Some@example.com");
//driver.swipe(100, 500, 100, 100, 2);
//driver.findElementByName("Save").click();
}

}


↙↙↙阅读原文可查看相关链接,并与作者交流