Qqwy

Qqwy

TypeCheck Core Team

I am working on setting up integration testing of our Phoenix-application using Hound. I encountered a very strange error, which is that when using PhantomJS as Hound browser driver, Cowboy will reject all incoming connection with an ‘error 400’.

Searching the internet I found out that other people had a similar problem with Cowboy as well: PhantomJS does not by default seem to add a Host:-header to the requests it does, which is against the HTTP spec and rejected by Cowboy (as well as happily accepted by most other webservers).

Switching to Selenium+Firefox instead of PhantomJS and everything works fine.
So just a heads-up that this issue exists. I’m not sure how this could/should be resolved; what would be the best approach?

  • Ask the developers of PhantomJS to alter its default settings so it follows the spec.
  • Update Hound so it requests PhantomJS to set a Host:-header when connecting.
  • Update Hound so it has the possibility to add custom HTTP headers from your own code.
  • Ask the people behind Cowboy to create a way to accept requests with missing Host:-headers.

Showing Posts 1 to 3

idi527

idi527

I think it might be easier to switch to chrome. I’m not sure if there’s anyone left to develop phantomjs further at this point: Redirecting to Google Groups.

I mostly use GitHub - puppeteer/puppeteer: JavaScript API for Chrome and Firefox · GitHub for “end-to-end” tests.

Qqwy

Qqwy OP

TypeCheck Core Team

At first I switched to Selenium + Firefox, but lo and behold, Hound crashes whenever you try to run a find_element because it cannot understand the current format that is returned by the webdriven Firefox.

The Selenium+Chrome driver still works fine, though.

@idi527 Do you use puppeteer instead of Hound, or somehow from within Hound? I’d like to keep all my tests in Elixir-land, because the existing tests are, and because most of the stuff is server-side related anyway.

idi527

idi527

Do you use puppeteer instead of Hound, or somehow from within Hound?

Yes, I got frustrated with Hound and Wallaby at the time, and just wrote these tests in js, which was surprisingly easy.

— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
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
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews