无法在设备上运行我的代码

时间:2016-02-04 06:15:22

标签: java android eclipse selenium appium

public static void main(String args[]) {
    try {

        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S Z");
        Date date = format.parse("2016-02-03 10:39:29.099545 -8:00");
    } catch (ParseException pe) {
        // TODO: Add catch code
        pe.printStackTrace();
    }
}

这是以下控制台错误,我无法在设备上运行上述代码。我在Ubuntu 14.04 LTS机器上运行这些代码。 Eclipse版本Mars。控制台错误显示为 FAILED CONFIGURATION:@BeforeTest setUp     org.openqa.selenium.SessionNotCreatedException:无法创建新会话。 (原始错误:命令失败:/ bin / sh -c“/ usr / bin / adb”-s adb服务器已过期。正在杀死...等待设备     ADB服务器没有确认     *无法启动服务器*

package android;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
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 SimpleAndroidCalcTest {

    WebDriver driver;
    @BeforeTest
    public void setUp() throws MalformedURLException{
        // Created object of DesiredCapabilities class.
        DesiredCapabilities capabilities = new DesiredCapabilities(); 
        capabilities.setCapability("deviceName", "0227074902999561");
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");         
        capabilities.setCapability(CapabilityType.VERSION, "5.1.1");        
        capabilities.setCapability("platformName", "Android");  
        capabilities.setCapability("appPackage", "com.example.mypackage"); 
        capabilities.setCapability("appActivity", "com.example.mypackage.MainActivity"); 
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);        
    }

    @Test public void SKIP() 
    {   
        driver.findElement(By.xpath("//android.widget.Button[@text='SKIP']")).click();
    }
}

2 个答案:

答案 0 :(得分:0)

导航到您的sdk管理器并确保自从运行5.1.1后安装 api 22 并使用命令提示符启动appium服务器adb start-server

答案 1 :(得分:0)

系统中可能存在重复的adb二进制文件

首先删除所有adb二进制文件

sudo apt-get purge --auto-remove android-tools-adb

然后下载最新版本的android sdk平台工具并尝试再次运行脚本..

确保在环境路径中设置android sdk home