What is the meaning of test runner? Protractor is a test runner. What is the meaning of test runner in layman terms?
For starters, it's interesting to understand the difference between a framework and a library:
In a nutshell, a library is a piece of code that your application code calls: Here you are calling the Selenium library functions: WebDriver().get("duckduckgo.com");
On the other hand, a framework is a code that calls your application code:
@Test fun myTest(): ...
In the example above, the code you wrote will be called by a framework, e.g. JUnit. The Callback Pattern is a perfect example of this.
So, test runners are applications that will run your tests that are organized in a certain way:
- Annotated with @Test;
- Inside files the end with test.js
They are frameworks. Their workflow is what determines what will happen, they have execution control.
Protractor, Selenium, and alike (mostly) are libraries. Your application code will call them. Your code workflow is what determines what will happen, you have execution control.