News for hackers. Stuff that matters.
Re:Hurl 4.0.0 by FridgeSeal on Saturday July 01, 2023 @03:35AM (#36547695)
> but it's limited in features compared to existing peformance testing tools, and I'd personally rather write tests in a programming language, than in a bespoke text format.

I’d hardly call hurl’s config bespoke, it basically amounts to HTTP codes and some header stuff, which basically everyone is familiar with.

From personal experience a couple of weeks ago I needed some http tests. I got a CI-ready Hurl config working on some endpoints for work sorted within like, 5 minutes of downloading it. In comparison I opened the page for K6, saw the “write tests using JS” and basically noped out immediately,

Re:Hurl 4.0.0 by imiric on Saturday July 01, 2023 @05:32AM (#36548346)
That's fair, and k6 is not for everyone. JS was chosen as it's a popular language with a large web ecosystem, but the tool itself is written in Go.

That said...

> I got a CI-ready Hurl config working on some endpoints for work sorted within like, 5 minutes of downloading it.

I'm obviously biased, but I'd argue that k6 is equally easy to get started with. Take a look at the docs[1].

> I’d hardly call hurl’s config bespoke

But it is. It has a unique syntax, and no other tool uses it, AFAIK. I'm not saying it's not simple or easy to understand, but it's not as expressive as a programming language. Which is fine if your tests don't require any logic, but from experience, in order to simulate accurate real-world traffic, which you probably want when writing a load/performance test, you do need some logic, different scheduling options, a way to process and analyze the metrics, etc.

I don't want to turn this into a versus battle, as there is a place for tools such as Hurl, ab, and wrk to coexist with tools like k6 and Locust. I just wanted to mention it as an option for anyone who hasn't heard about it, as any personal biases aside, I do think it's a great tool.

[1]: https://k6.io/docs/

Re:Hurl 4.0.0 by FridgeSeal on Saturday July 01, 2023 @10:52AM (#36550749)
> Take a look at the docs

Yeah, I did they start off with JS shenanigans, including importing packages, which immediately makes me concerned I’m going to have to deal with JS packaging dumpster-fire. There’s then one line of CLI args, followed by even more JS boilerplate.

> in order to simulate accurate real-world traffic, which you probably want when writing a load/performance test

I think the mismatch here is that Hurl is closer to being a http testing tool, not a load-testing tool, so most of these features are unnecessary.

> It has a unique syntax, and no other tool uses it, AFAIK.

Taking the example from the front page:

GET https://example.org

HTTP 200 [Captures] csrf_token: xpath "string(//meta[@name='_csrf_token']/@content)"

Character for character, most of this is bog-standard http verbs, a url, and an html path string. The Jetbrain HTTP tool also sports very similar interface, and I believe there’s a VSCode plugin somewhere that does a similar thing.