ricksonoliveira
Has anyone by any chance using WSL tried to use open_browser in your tests?
I’ve heard one could do something like open_browser(lv, &System.cmd("wslview", [&1])). But I have no idea how to make WSL or Elixir know how to open my default browser.
Has anyone gone through this and have been victorious? ![]()
Thanks!
Trending in Questions
Hello!
Suppose you are building workflow (order / task / payment) processing system with the following requirements:
Each workflow con...
New
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app?
Looking for hints regarding:
Addi...
New
Kia ora,
We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
Hi all, I wanted to ask how the community is dealing with post-release steps.
Today we have Ecto migrations, which make sure that the db...
New
Hello,
I have an Elixir backend that implements a custom protocol over TCP. I want to load test the backend and assess the performance o...
New
Other Trending Topics
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #ai
- #genstage
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










First 10 of 11 Posts
chgeuer
Not referring to tests in particular, but on WSL, you can run applications “on the Windows side”, such as
cmd.exe.cmd.exeallows you to provide a shell command.In Bash for example, you can do something like this:
In Elixir, this might be a start:
However, escaping stuff the right way can always be ‘difficult’ (BatBadBut: You can't securely execute commands on Windows - GMO Flatt Security Research)
slouchpie
I had some success with this:
ricksonoliveira
Nice this one worked!
The only problem is adding this function every time I need to open the browser
Will keep it in a notepad!
ricksonoliveira
Good one! Kinda the same path I was trying with System.cmd
sodapopcan
Just add a helper to your
ConnCaseOtherwise, one of you should consider contributing this to PhoenixTest if it’s universal enough (I had to look up what WSL is so I don’t know anything here, but I did do some work around open_browser for that lib).
slouchpie
Do your test files have a line like this:
?
If so, you can just write the function in
test/support/conn_case.exand then it will be available in all your live view tests.slouchpie
Ah, yes. This. I am saying the same thing.
slouchpie
I do not know if it is universal at all. It worked for me, one day. That’s all.
After that, all bets are off
I guarantee nothing!
Life is chaos!
ricksonoliveira
That’s the function we would need to “contribute” to: phoenix_test/lib/phoenix_test/open_browser.ex at main · germsvel/phoenix_test · GitHub
Actually it’s a good idea to contribute, but I still know too little about what’s really going on behind it to contribute, so I’m gonna do some homework and.. who knows, right?
slouchpie
I tried using my answer today and it needed improvement because CSS was not being loaded.
I have a hacky way of making the CSS work (which is better than no way).
First, use this slightly better
open_browser_wslfunction.It is better for 2 reasons:
I usually just slap that function into the block of code in
conn_case.exthat starts with:With the function inside the
usingblock, any test that hasuse MyAppWeb.ConnCasewill be able to callopen_browser_wsl(view).Now for the CSS. Configure the test
Endpointso that static URLs can be resolved. Inconfig/text.exs, add this:and then finally tell the Endpoint (still in the test config file) to use this static path:
The
try/rescueblock is to make sure people who don’t use WSL can still run tests.It’s hacky, for sure, but now CSS will be loaded.
@ricksonoliveira Please mark this answer as the solution. It is better than my previous answer.