# SessionNotCreatedException for RemoteWebDriver

**URL:** <https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313>\
**Category:** Support\
**Created:** [May 29, 2023, 8:31am UTC](https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313 "2023-05-29T08:31:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![carmen](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/a9adbd/32.png) [@carmen](https://discuss.appium.io/u/carmen)\
**Post date:** [May 29, 2023, 8:31am UTC](https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313/1 "2023-05-29T08:31:44Z")

</div>

Try to run some appium tests in remote appium server

static String HUB\_URL = “[http://ie1-abc12-qa.qa.xxx:4444/wd/hub](http://ie1-abc12-qa.qa.xxx:4444/wd/hub)”;  
driver2 = new RemoteWebDriver(new URL(HUB\_URL), capabilities);

but I see this error:  
_org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure._

The selenium grid nodes are up and running on Linux like in this picture:

 ![image](https://discuss.appium.io/uploads/default/original/2X/6/6ebb6236f744546848d0c7af3d77a90887f37feb.png)

---

<div class="post-metadata">

**Author:** ![Giuma](https://discuss.appium.io/user_avatar/discuss.appium.io/giuma/32/11307_2.png) [@Giuma](https://discuss.appium.io/u/Giuma)\
**Post date:** [May 29, 2023, 9:10am UTC](https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313/2 "2023-05-29T09:10:20Z")

</div>

hi, did you pass the url right? Is the machine you’re pointing to active?

---

<div class="post-metadata">

**Author:** ![carmen](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/a9adbd/32.png) [@carmen](https://discuss.appium.io/u/carmen)\
**Post date:** [May 29, 2023, 9:36am UTC](https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313/3 "2023-05-29T09:36:33Z")

</div>

Yes, I can see the nodes in the hub here: “[http://ie1-abc12-qa.qa.xxx:4444/wd/hub”;](http://ie1-abc12-qa.qa.xxx:4444/wd/hub%E2%80%9D;)

---

<div class="post-metadata">

**Author:** ![Giuma](https://discuss.appium.io/user_avatar/discuss.appium.io/giuma/32/11307_2.png) [@Giuma](https://discuss.appium.io/u/Giuma)\
**Post date:** [May 29, 2023, 9:48am UTC](https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313/4 "2023-05-29T09:48:40Z")

</div>

Have you checked that the remote Appium server is running correctly and that there are no problems starting the server?

---

<div class="post-metadata">

**Author:** ![carmen](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/a9adbd/32.png) [@carmen](https://discuss.appium.io/u/carmen)\
**Post date:** [May 29, 2023, 9:49am UTC](https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313/5 "2023-05-29T09:49:14Z")

</div>

@BeforeClass  
void beforeClass(@Optional(“platform”) String platform) throws MalformedURLException {  
platform = “ios”;  
setIosSwiftCaps();  
startServer(4723, “127.0.0.1”);  
setDriver(platform, “[http://127.0.0.1:4723](http://127.0.0.1:4723)”);  
}

```
public void setIosSwiftCaps() {
    capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
    capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "15.5");
    capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");
    capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 12 Pro Max");
    String appUrlIos = System.getProperty("user.dir") + "/src/app/swift/xxx.app";
    capabilities.setCapability("app", appUrlIos);
}

public static void startServer(int appiumPort, String appiumIP) {
    AppiumServiceBuilder builder;
    log.info("Building and starting the server:");
    builder = new AppiumServiceBuilder();
    builder.withIPAddress(appiumIP);
    builder.usingPort(appiumPort);
    builder.withCapabilities(capabilities);

    builder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
    builder.withArgument(GeneralServerFlag.LOG_LEVEL, "debug");
    service = AppiumDriverLocalService.buildService(builder);
    service.start();
    log.info("Server started on Port - " + appiumPort + " & IP:" + appiumIP);
}

public void setDriver(String testPlatform, String url) throws MalformedURLException {
    if ("ios".equals(testPlatform)) {
        System.out.println("------------ios------------");
        driver = new AppiumDriver(new URL(url), capabilities);
    } else {
        System.out.println("------------android------------");
        driver = new AndroidDriver(new URL(url), capabilities);
    }

    driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(20));
    wait = new WebDriverWait(driver, Duration.ofSeconds(10));
}

public void setDriver(String testPlatform, String url) throws MalformedURLException {
    if ("ios".equals(testPlatform)) {
        System.out.println("------------ios------------");
        driver = new AppiumDriver(new URL(url), capabilities);
    } else {
        System.out.println("------------android------------");
        driver = new AndroidDriver(new URL(url), capabilities);
    }

    driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(20));
    wait = new WebDriverWait(driver, Duration.ofSeconds(10));
}

```

I use this setup to run the tests locally with appium, I want to run the test remote .

---

<div class="post-metadata">

**Author:** ![Giuma](https://discuss.appium.io/user_avatar/discuss.appium.io/giuma/32/11307_2.png) [@Giuma](https://discuss.appium.io/u/Giuma)\
**Post date:** [May 29, 2023, 9:52am UTC](https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313/6 "2023-05-29T09:52:56Z")

</div>

this is how i run my test in remote

```
else if(config.getProperty("browser").equals("remote")){
    			ChromeOptions options = new ChromeOptions();
        		options.addArguments("--disable-notifications");

        		options.addArguments("--disable-gpu");

        		options.addArguments("--disable-extensions");

        		options.addArguments("--no-sandbox");

        		options.addArguments("--disable-dev-shm-usage");

        		options.addArguments("--remote-allow-origins=*");
    		try {
				driver = new RemoteWebDriver(new URL("http://xxx.xx.x.xxx:4444/wd/hub"),options);
			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
```

---

<div class="post-metadata">

**Author:** ![carmen](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/a9adbd/32.png) [@carmen](https://discuss.appium.io/u/carmen)\
**Post date:** [May 29, 2023, 9:55am UTC](https://discuss.appium.io/t/sessionnotcreatedexception-for-remotewebdriver/39313/7 "2023-05-29T09:55:20Z")

</div>

For remote I think I must use **RemoteWebDriver** with HUB\_URL

```
public void setIosCapsRemote() throws MalformedURLException {
 
    capabilities.setPlatform(Platform.LINUX);
    capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
    capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "15.5");
  // capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");
    capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 12 Pro Max");
    capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Safari");

    String appUrlIos = System.getProperty("user.dir") + "/src/app//........../xxx.app";
    capabilities.setCapability("app", appUrlIos);

    driver2 = new RemoteWebDriver(new URL(HUB_URL), capabilities);
    driver2.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);

}
```
