webdriverio / webdriverio/webdriverio

[💡 Feature]: Timeout for Entirety of WebDriverIO Test Runner Instance

Open
#12,678 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted Idea 💡
Dominant language
TypeScript
Stars
9.8k
Forks
2.7k
Avg merge
2d 13h
Merged PRs (30d)
69

Description

Is your feature request related to a problem?

Imagine a scenario where the WebDriverIO test runner is running underneath a different test harness, and that parent test harness has a timeout.

We have a native environment that runs automation in a CI loop. I've developed an integration layer that allows us to run WebDriverIO test harness underneath our native test harness. (Why? So we have the ability to run JS test code in our native environment, which we haven't been able to do. This helps us with our goal of writing JS features moving forward).

If the parent test harness reaches its default timeout, it immediately stops execution of the test instance. Therefore, we don't get any debugging information from WebDriverIO because it was deleted before logs can be made.

This would be an issue for all situations where WebDriverIO is running underneath a process that has a timeout. It doesn't have to be a different test harness, it could simply be a CI loop that has a timeout.

Describe the solution you'd like.

We would like the ability to set a timeout on the WebDriverIO instance so we could fail early (if necessary) and still output all the logs.

For example, in the WebDriverIO configuration file, something like:

testRunnerTimeout: 50000 // 5 minutes from start to end

So the second WebDriverIO starts execution, it has 5 minutes to finish. If it doesn't, export all logs and fail.

Describe alternatives you've considered.

No response

Additional context

We're a huge consumer of WebDriverIO and we're integrating it at a high-capacity. It would be great if we could work together to do this! Thanks.

Code of Conduct
  • I agree to follow this project's Code of Conduct

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the WebDriverIO test runner instance from its configuration handling through execution and logging; done means a configurable whole-instance timeout that fails early and preserves the logs.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js, typescript
Domain
testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.