background and givins are no problem but fixtures... yes its more that the stack doesnt allow fancy shit and is always started with a dump so its there
but if i wanna test the booking feature yoy have to run the registration features for a new user before that because all the following things depend on a new registeres user
That is no problem because it is already written. And i dont even want to know if the booking doesnt work for a new user when a user cant even register
pmaasz
@pmaasz
What you could do is test the routine of register a new user in behat and then write a php version of this routine into your FeatureContext using it as an Annotation call like „@registerNewUser“. I haven‘t done that one specifically but i wrote something like that to login users. For example „@loginAdmin“ or „@loginTestuser“. All My tests require no data at the beginning. That way it gets easier to use in pipelines but the runtime is a down side. I have thought about a sql dump service to provide mock data but I scrapped that idea. I still have the Problem of an exploding FeatureContext sizewise. The behat project could provide a solution by providing more features and sentences in the framework but it seems the maintainers have vanished.
PurHur
@PurHur
Hello pmaasz
This would only move the lines from my feature files into a php file. I want my testers to write that.
pmaasz
@pmaasz
If
pmaasz
@pmaasz
If you have the testers that would be the best option.
PurHur
@PurHur
You dont need dedicated persons to write that. Its only like 2 lines or something like that. It doesnt cost that much.
pmaasz
@pmaasz
I tried Scenario Outlines for the first time for the registration steps and it makes the tests pretty compact. It's even less work to write but the test runtime is the same.
pmaasz
@pmaasz
does anybody here use the DMore Chromeextension?
pmaasz
@pmaasz
There is a new release 3.6.0 (https://github.com/Behat/Behat/releases) it immediately broke my tests... (PHP Fatal error: Declaration of TestworkEventDispatcherPhp72Trait::dispatch($event, ?string $eventName = NULL): object must be compatible with Symfony\Component\EventDispatcher\EventDispatcher::dispatch($eventName, ?Symfony\Component\EventDispatcher\Event $event = NULL))
I have used it and it is quiet practical. I think purhur even has a fork
Eme Mora
@chowzenwan
great i will also review it cause i was looking for one and all ended as far as i investigate so far using mink
also and im using php webdriver
its mink better then using php webdriver?
_
pmaasz
@pmaasz
You could use the DMore/BehatChromeExtension. That way you only Need a chrome installed
Gazal Shukla
@gazalshukla
I am trying to verify the text being displayed on page but the problem is that text displays only for few secs and scenario is getting failed as it says it is unable to find anywhere in the text of the current page.
Also attaching the screenshot of feature .
pmaasz
@pmaasz
how long do you wait in your wait step?
Gazal Shukla
@gazalshukla
5 secs
pmaasz
@pmaasz
maybe thats too long? why not make that step configurable by saying something like Then I wait x seconds ?