codeceptjs / CodeceptJS

Supercharged End 2 End Testing Framework for NodeJS
http://codecept.io
MIT License
4.07k stars 720 forks source link

Multiple scenario with multiple session mess up the webdriver configuration(Both V2.x and V3.x has the problem) #4406

Open linjin-harvey opened 1 week ago

linjin-harvey commented 1 week ago

Here is my test code:

`Feature("test")

Scenario("test1", ({ I }) => { I.wait(3) session("customer", browserstack_desktop_configuration, async () => { I.wait(3); }) })

Scenario("test2", ({ I }) => { I.wait(3) session("customer", browserstack_desktop_configuration, async () => { I.wait(3); }) })`

browserstack_desktop_configuration and browserstack_desktop_configuration is global configurations, they have different host and port, like: browserstack_desktop_configuration: { host:"a", port:8080 }, browserstack_desktop_configuration:{ host:"b", port:80 } During scenario 1 execution, it using browserstack_desktop_configuration correctly, and start internal 'customer' session with browserstack_desktop_configuration configuration correctly. The tracky is, Before scenario 2 execution, the webdriver configuration change to : {hostname:"a", host:"b", port:80 }, underline webdriverio is using hostname and port to start remote browser, so it throws below error message: `Can't connect to WebDriver. Error: Failed to create session. Unable to connect to "http://a:80/wd/hub", make sure browser driver is running on that address. If you use services like chromedriver see initialiseServices logs above or in wdio.log file as the service might had problems to start the driver.

Please make sure Selenium Server (ChromeDriver or PhantomJS) is running and accessible`