You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I confirm that I have Wallaby configured correctly.
Current behavior
When interrupting tests with Ctrl-C the browser sessions seem to persist to the next test run.
It can be seen on this branch after running mix e2e
or specifically mix e2e test/live_debugger/live_views_dashboard_test.exs.
The test starts two applications, one of which is used to debug the other. Debugger application gets all live view processes of the other application and lists them on a page.
Code of the failing test:
@sessions3feature"user can see active live views and refresh to see more",%{sessions: [dev_session1,dev_session2,lvdbg_session]}dodev_session1|>visit(@dev_app_url)lvdbg_session|>visit("/")|>assert_has(title(text: "Active LiveViews"))|>assert_has(live_sessions(count: 1))dev_session2|>visit(@dev_app_url)lvdbg_session|>assert_has(live_sessions(count: 1))|>click(button("refresh"))|>assert_has(live_sessions(count: 2))enddefptitle(text: text),do: css("h1",text: text)defplive_sessions(count: count),do: css("#live-sessions > div",count: count)
The test aims to open one session of dev_app and after that the main page of debugger with list of all active live views. On the debugger active live views page should be seen one element which happens in running tests. The problem occurs when the test is interrupted with Ctrl-C. After that, one session seem to persist over next test runs and then test fails with:
1) feature user can see active live views and refresh to see more (LiveDebugger.LiveViewsDashboardTest) test/live_debugger/live_views_dashboard_test.exs:12 ** (Wallaby.ExpectationNotMetError) Expected to find 1 visible element that matched the css '#live-sessions > div', but 2 visible elements were found. code: |> assert_has(live_sessions(count: 1)) stacktrace: test/live_debugger/live_views_dashboard_test.exs:21: (test)
From now on there is an additional session that is not created directly in the test but can be seen by the debugger.
For now the only method I found to reset this behavior is to shutdown and restart the operating system.
There should not be any persisting sessions after interrupting running tests.
Test Code & HTML
@sessions3feature"user can see active live views and refresh to see more",%{sessions: [dev_session1,dev_session2,lvdbg_session]}dodev_session1|>visit(@dev_app_url)lvdbg_session|>visit("/")|>assert_has(title(text: "Active LiveViews"))|>assert_has(live_sessions(count: 1))dev_session2|>visit(@dev_app_url)lvdbg_session|>assert_has(live_sessions(count: 1))|>click(button("refresh"))|>assert_has(live_sessions(count: 2))enddefptitle(text: text),do: css("h1",text: text)defplive_sessions(count: count),do: css("#live-sessions > div",count: count)
Elixir and Erlang/OTP versions
Erlang/OTP 27 [erts-15.1.2] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit]
Elixir 1.18.3 (compiled with Erlang/OTP 27)
Operating system
macOS 15.0.1
Browser
Chrome 135
Driver
ChromeDriver
Correct Configuration
Current behavior
When interrupting tests with
Ctrl-C
the browser sessions seem to persist to the next test run.It can be seen on this branch after running
mix e2e
or specifically
mix e2e test/live_debugger/live_views_dashboard_test.exs
.The test starts two applications, one of which is used to debug the other. Debugger application gets all live view processes of the other application and lists them on a page.
Code of the failing test:
The test aims to open one session of dev_app and after that the main page of debugger with list of all active live views. On the debugger active live views page should be seen one element which happens in running tests. The problem occurs when the test is interrupted with
Ctrl-C
. After that, one session seem to persist over next test runs and then test fails with:From now on there is an additional session that is not created directly in the test but can be seen by the debugger.
For now the only method I found to reset this behavior is to shutdown and restart the operating system.
Steps to reproduce
mix setup
mix e2e
and pressCtrl-C
during running testsmix e2e test/live_debugger/live_views_dashboard_test.exs
(try a few times, it not always shows up)
cc @kraleppa
Expected behavior
There should not be any persisting sessions after interrupting running tests.
Test Code & HTML
Demonstration Project
https://github.com/software-mansion/live-debugger/tree/223-introduce-wallaby-based-testing
The text was updated successfully, but these errors were encountered: