Revise Reqnroll "Actions" concept #34
Replies: 4 comments 11 replies
-
(Side note: @tulavalle offered getting ideas about Selenium integration from the lib at https://github.com/tulavalle/SpecflowSelenium). |
Beta Was this translation helpful? Give feedback.
-
Some background info:
The idea of Actions wasn't to make whole wrapper around the APIs. It was to get easier started with Selenium/Playwright together with SpecFlow. So they provide a light opinionated way to integrate them in the SpecFlow lifecycle. We had some helper methods for Selenium, but these are bare minimum. You are at their limit very fast.
The reason for this was, to make contributing to it easier. The SpecFlow repo was too big and hard to navigate for newcomers.
This was mainly done to give people who used SpecFlow+ Runner Targets a way to migrate away from it.
Back in the days it was the other way around. We wanted to make it easier for users of this payed platforms to start with SpecFlow. |
Beta Was this translation helpful? Give feedback.
-
One more question, @SabotageAndi, just that I see it clearly. Let's take the selenium action as an example. It depends on SpecFlow (Reqnroll) AND Selenium. What was the intended release strategy of the action?
What is the intended usage for teams that plan to upgrade SpecFlow (Reqnroll) but not ready to upgrade Selenium or vica versa? Can the users override the used Selenium package (let's say use Selenium 4, while the action was compiled with Selenium 3) in their client project (as long as the tiny bit we use from Selenium remains unchanged)? I guess the same question applies for our DI integration packages as well. @mbhoek, what was your strategy with the MS DI plugin? |
Beta Was this translation helpful? Give feedback.
-
I'd like to suggest we approach this from a completely different angle. Rather than trying to provide helper libraries to get people started with their particular application of Reqnroll, could it be better to supply scaffold projects that generate the code and structure necessary for the particular set of problems? We were chatting about this in the Discord, whether it would be good to help users with ASP.NET applications get up and running. It would give us an opportunity to not only solve the problem of "getting started" but also give some guidance on how to structure a non-trivial test-suite and examples of what good scenarios look like in their problem space. This is essentially how Microsoft approached the problem of getting started with ASP.NET, and the result is every project I've ever worked on has a reasonable and predictable structure. I know what I should expect in I would love the same to be true for Reqnroll, where an ASP.NET integration test suite correctly sets up its server and dependencies, correctly configures some mocks, invokes a Selenium driver to interact with pages via some kind of model, and these things are common across projects, rather than exceptional. Is it possible for us to achieve this for the common integration scenarios we know of? Does anybody have knowledge of how we might scaffold projects in this fashion? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
The concept of SpecFlow "Actions" were to provide a read-to-use solution for common automation targets, like Selenium.
The codebase has been ported to , and the packages have been released with the name
Reqnroll.SpecFlowCompatibility.Actions.*
(see https://github.com/orgs/reqnroll/discussions/27). The "SpecFlowCompatibility" prefix has been included, because the code needs to be rewised and maybe changed.This topic is to discuss the long-term strategy for the Reqnroll "Actions".
I haven't used the SpecFlow actions myself, so I don't have first-hand experience. I generally like the concept, but I see some maintanance issues with this (none of them are blocking, but make sense to be aware of it):
I don't have a clear suggestion on how to move on. I am interested in your comments & feedback.
Beta Was this translation helpful? Give feedback.
All reactions