Servirtium support in Selenium

38 views
Skip to first unread message

Paul Hammant

unread,
Feb 17, 2020, 7:41:09 AM2/17/20
to selenium-developers
While Selenium has it's own mock HTTP capability, I'd like to introduce Servirtium's markdown standard as something that Selenium-WebDrivr may want to support in the future. Like in a year's time perhaps, as it is still early days for Servirtium.
  • https://servirtium.dev/
  • Servirtium is a Service Virtualization (SV) tech that uses markdown for interop on recorded HTTP conversations.
We have a Java, Kotlin, Python, .NET complete enough, and a Ruby version in progress. Also a wish for another 6 language versions. I'd call these ports, but that's not right as each should be idiomatic to the language in question.

While test-engineers wanting to deploy Selenium-leveraging builds in the future could do the necessary setup, it might be cool if Selenium had its own capability for record/playback of HTTP conversations into this new markdown spec.

I don't know how capable the interception of HTTP traffic would be for browser-centric Selenium. Specifically, could it intercept third-party API calls too? Like firebase. And what would that mean if parallelization of requests is common in browser apps, and Servirtium wants to put requests in series for "tight" test sequences. To explain that, Selenium has waitFor functionality that can be cross-cutting or specific to operations, but Servirtium does not.

An example of something that Servirtium chokes on is where it attempts to be a man in the middle for this - http://www.todobackend.com/specs/index.html?http://todo-backend-sinatra.herokuapp.com/todos. That Jasmine test suite has subtle parallelization, and Servirtium chokes 3/4 of the way through in playback mode.

In case anyone knew anyone who'd be willing to get involved with a language non-port, then here's the guide - https://github.com/servirtium/README/blob/master/starting-a-new-implementation.md. This in addition to thinking/discussion around future Selenium support for the spec.

- Paul

Context: I'm Selenium v1.0 co-creator in 2004 - Selenium-RC specifically and he who organized ThoughtWorkers around the four initial languages: Java, Ruby, C# and Python (and the COMET wire protocol). In 2020 it's nearer 10 languages needed of course.
Reply all
Reply to author
Forward
0 new messages