【问题标题】:SessionNotCreatedException in Eclipse "Appium" codeEclipse“Appium”代码中的 SessionNotCreatedException
【发布时间】:2015-03-06 06:16:01
【问题描述】:

下面给出了我执行简单单击按钮自动化的代码,我对 appium 很陌生,所以我只是想获取我的应用程序并单击一个按钮,因为我已经给出了异常,它阻止了我继续

public class IOSTester {
    public static void main(String[] args) throws Exception {
    WebDriver driver;
     DesiredCapabilities capabilities = new DesiredCapabilities();
     capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
     capabilities.setCapability(CapabilityType.VERSION, "8.1");
     capabilities.setCapability("deviceName","iPadAir Simulator");
     capabilities.setCapability("app", "/Users/AZ-Admin/Documents/test.app");
     driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

     if(driver!=null)
     {
         driver.quit();
 }

     driver.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAButton[1]")).click();
 }
 }

当编译器达到“driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);”时出现以下异常,谁能帮帮我

Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Requested a new session but one was in progress) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.19 seconds
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37'
System info: host: 'CodeWarrior.local', ip: '192.168.0.114', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.1', java.version: '1.7.0_71'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:126)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:153)
    at CalculatorTest.IOSTester.main(IOSTester.java:28)

谢谢

【问题讨论】:

  • “原始错误:请求了一个新会话,但一个正在进行中”,因此已经为该设备创建了一个会话,并且尚未结束。
  • 所以我需要关闭我的 xcode 模拟器吗?然后试试
  • 是的,您应该先尝试一下。重启你的 appium 服务器和模拟器并运行代码。
  • 我试过它保持不变,所以我尝试编辑我的 URL 并得到一个新的异常,即线程“main”中的异常 org.openqa.selenium.UnsupportedCommandException: That URL did not map to a有效的 JSONWP 资源命令持续时间或超时:230 毫秒
  • @Shamik 感谢您的帮助终于找到了解决方案并将其发布为答案

标签: java eclipse selenium appium


【解决方案1】:

把代码改成

public class IOSTester {
    public static void main(String[] args) throws Exception {
    AppiumDriver driver;
     DesiredCapabilities capabilities = new DesiredCapabilities();
     capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
     capabilities.setCapability(CapabilityType.VERSION, "8.1");
     capabilities.setCapability("platformName", "iOS");
     capabilities.setCapability("deviceName","iPad Air");
     capabilities.setCapability("app", "/Users/AZ-Admin/Documents/test.app");
     driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
     driver.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAButton[1]")).click();
 }
 }

下载 Appium Driver.jar 并将其附加到您的代码文件并导入 AppiumDriver

【讨论】:

    猜你喜欢
    • 2017-05-08
    • 1970-01-01
    • 2017-08-01
    • 2016-06-29
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    相关资源
    最近更新 更多