Discussion:
[Cucumber] Need help to select Cucumber implementations and Framework integration
Add Reply
Deepak Sh
2017-07-07 06:12:52 UTC
Reply
Permalink
Raw Message
We want to implement Cucumber in our new project as we want to follow BDD
approach. The project will be developed using Symfony 3.0 and Angular 4.0.

I am new in automation testing. I have exposure in Python with Selenium and
little bit in Java with Selenium.

Should I go with the "in-process" or "out-of-process" ?

I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.

What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
80Vikram
2017-08-08 09:28:01 UTC
Reply
Permalink
Raw Message
If you're planning to work with Java + Selenium + Cucumber then I suggest
to use *Serenity framework <http://www.thucydides.info/#/whatisserenity>*

I've recently given talk on BDD, Cucumber usage in automation projects (
Web, Mobile ) , you can refer to

Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow BDD
approach. The project will be developed using Symfony 3.0 and Angular 4.0.
I am new in automation testing. I have exposure in Python with Selenium
and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
aslak hellesoy
2017-08-08 14:22:46 UTC
Reply
Permalink
Raw Message
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).

This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.

This is the only way to achieve a test pyramid, and avoid an ice cream
cone: Slow, expensive and brittle tests/scenarios.

Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow BDD
approach. The project will be developed using Symfony 3.0 and Angular 4.0.
I am new in automation testing. I have exposure in Python with Selenium
and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
80Vikram
2017-08-09 11:11:24 UTC
Reply
Permalink
Raw Message
Hi Aslak,

I didn't understand "...This allows you to implement step definitions by
making direct method/function calls to the domain logic, avoiding the
UI...."

If I'm automating ordering flow in an e-commerce website with Selenium,
then I need to do all the calls ( selenium method calls on web elements in
ordering flow ) at UI level right ?

Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice cream
cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow BDD
approach. The project will be developed using Symfony 3.0 and Angular 4.0.
I am new in automation testing. I have exposure in Python with Selenium
and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Björn Rasmusson
2017-08-09 14:02:14 UTC
Reply
Permalink
Raw Message
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step definitions by
making direct method/function calls to the domain logic, avoiding the
UI...."
If I'm automating ordering flow in an e-commerce website with Selenium,
then I need to do all the calls ( selenium method calls on web elements in
ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a e-commerce
system, you have a choice of which access point to use:
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute the
very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can run in
milliseconds"
on CukeUp! 2017 about this.

Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice cream
cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow
BDD approach. The project will be developed using Symfony 3.0 and Angular
4.0.
I am new in automation testing. I have exposure in Python with Selenium
and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
80Vikram
2017-08-10 09:19:43 UTC
Reply
Permalink
Raw Message
Hi Björn,

Thanks a ton for this awesome tip.

I had attended official cucumber training for 2 days last year in Basel but
strangely this was never covered or talked about.

IMHO this is quite critical topic to be covered as well during 2 days
course.

Kind Regards,
Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step definitions by
making direct method/function calls to the domain logic, avoiding the
UI...."
If I'm automating ordering flow in an e-commerce website with Selenium,
then I need to do all the calls ( selenium method calls on web elements in
ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a e-commerce
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute the
very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can run in
milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017 about this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice cream
cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow
BDD approach. The project will be developed using Symfony 3.0 and Angular
4.0.
I am new in automation testing. I have exposure in Python with Selenium
and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
aslak hellesoy
2017-08-10 10:44:43 UTC
Reply
Permalink
Raw Message
Post by 80Vikram
Hi Björn,
Thanks a ton for this awesome tip.
I had attended official cucumber training for 2 days last year in Basel
but strangely this was never covered or talked about.
Thanks for your suggestion Vikram. As you'll remember, the 2-day course has
one non-technical and one technical day, and if we cover this we'll have to
remove something else.

I think it's an important topic to cover, so we'll see if we can tweak the
course material a little.

Cheers,
Aslak
Post by 80Vikram
IMHO this is quite critical topic to be covered as well during 2 days
course.
Kind Regards,
Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step definitions by
making direct method/function calls to the domain logic, avoiding the
UI...."
If I'm automating ordering flow in an e-commerce website with Selenium,
then I need to do all the calls ( selenium method calls on web elements in
ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a e-commerce
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute the
very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can run
in milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017 about
this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice cream
cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow
BDD approach. The project will be developed using Symfony 3.0 and Angular
4.0.
I am new in automation testing. I have exposure in Python with
Selenium and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
80Vikram
2017-08-10 11:53:23 UTC
Reply
Permalink
Raw Message
Thanks Aslak for taking the feedback into consideration.

I feel this can be included into the exercise where participants write
actual code and see it working.

Regards,
Vikram
Post by aslak hellesoy
Post by 80Vikram
Hi Björn,
Thanks a ton for this awesome tip.
I had attended official cucumber training for 2 days last year in Basel
but strangely this was never covered or talked about.
Thanks for your suggestion Vikram. As you'll remember, the 2-day course
has one non-technical and one technical day, and if we cover this we'll
have to remove something else.
I think it's an important topic to cover, so we'll see if we can tweak the
course material a little.
Cheers,
Aslak
Post by 80Vikram
IMHO this is quite critical topic to be covered as well during 2 days
course.
Kind Regards,
Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step definitions
by making direct method/function calls to the domain logic, avoiding the
UI...."
If I'm automating ordering flow in an e-commerce website with Selenium,
then I need to do all the calls ( selenium method calls on web elements in
ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a e-commerce
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute the
very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can run
in milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017 about
this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice cream
cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow
BDD approach. The project will be developed using Symfony 3.0 and Angular
4.0.
I am new in automation testing. I have exposure in Python with
Selenium and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
aslak hellesoy
2017-08-10 12:33:47 UTC
Reply
Permalink
Raw Message
Post by 80Vikram
Thanks Aslak for taking the feedback into consideration.
I feel this can be included into the exercise where participants write
actual code and see it working.
Most of day 2 is coding exercises - what particular exercise were you
thinking of?
Post by 80Vikram
Regards,
Vikram
Post by aslak hellesoy
Post by 80Vikram
Hi Björn,
Thanks a ton for this awesome tip.
I had attended official cucumber training for 2 days last year in Basel
but strangely this was never covered or talked about.
Thanks for your suggestion Vikram. As you'll remember, the 2-day course
has one non-technical and one technical day, and if we cover this we'll
have to remove something else.
I think it's an important topic to cover, so we'll see if we can tweak
the course material a little.
Cheers,
Aslak
Post by 80Vikram
IMHO this is quite critical topic to be covered as well during 2 days
course.
Kind Regards,
Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step definitions
by making direct method/function calls to the domain logic, avoiding the
UI...."
If I'm automating ordering flow in an e-commerce website with
Selenium, then I need to do all the calls ( selenium method calls on web
elements in ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute
the very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can run
in milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017 about
this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice
cream cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to
follow BDD approach. The project will be developed using Symfony 3.0 and
Angular 4.0.
I am new in automation testing. I have exposure in Python with
Selenium and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
80Vikram
2017-08-10 14:55:36 UTC
Reply
Permalink
Raw Message
Participants can do "ecommerce ordering flow" automation at different
levels as per explanation from Björn.
Post by aslak hellesoy
Post by 80Vikram
Thanks Aslak for taking the feedback into consideration.
I feel this can be included into the exercise where participants write
actual code and see it working.
Most of day 2 is coding exercises - what particular exercise were you
thinking of?
Post by 80Vikram
Regards,
Vikram
Post by aslak hellesoy
Post by 80Vikram
Hi Björn,
Thanks a ton for this awesome tip.
I had attended official cucumber training for 2 days last year in Basel
but strangely this was never covered or talked about.
Thanks for your suggestion Vikram. As you'll remember, the 2-day course
has one non-technical and one technical day, and if we cover this we'll
have to remove something else.
I think it's an important topic to cover, so we'll see if we can tweak
the course material a little.
Cheers,
Aslak
Post by 80Vikram
IMHO this is quite critical topic to be covered as well during 2 days
course.
Kind Regards,
Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step definitions
by making direct method/function calls to the domain logic, avoiding the
UI...."
If I'm automating ordering flow in an e-commerce website with
Selenium, then I need to do all the calls ( selenium method calls on web
elements in ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute
the very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can
run in milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017
about this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice
cream cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to
follow BDD approach. The project will be developed using Symfony 3.0 and
Angular 4.0.
I am new in automation testing. I have exposure in Python with
Selenium and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and
Selenium Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
aslak hellesoy
2017-08-10 15:11:05 UTC
Reply
Permalink
Raw Message
I assume the training you went to used the "Shouty" case on the day with
programming. We'd have to illustrate the technique with Shouty.
Post by 80Vikram
Participants can do "ecommerce ordering flow" automation at different
levels as per explanation from Björn.
Post by aslak hellesoy
Post by 80Vikram
Thanks Aslak for taking the feedback into consideration.
I feel this can be included into the exercise where participants write
actual code and see it working.
Most of day 2 is coding exercises - what particular exercise were you
thinking of?
Post by 80Vikram
Regards,
Vikram
Post by aslak hellesoy
Post by 80Vikram
Hi Björn,
Thanks a ton for this awesome tip.
I had attended official cucumber training for 2 days last year in
Basel but strangely this was never covered or talked about.
Thanks for your suggestion Vikram. As you'll remember, the 2-day course
has one non-technical and one technical day, and if we cover this we'll
have to remove something else.
I think it's an important topic to cover, so we'll see if we can tweak
the course material a little.
Cheers,
Aslak
Post by 80Vikram
IMHO this is quite critical topic to be covered as well during 2 days
course.
Kind Regards,
Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step
definitions by making direct method/function calls to the domain logic,
avoiding the UI...."
If I'm automating ordering flow in an e-commerce website with
Selenium, then I need to do all the calls ( selenium method calls on web
elements in ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute
the very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can
run in milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017
about this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice
cream cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to
follow BDD approach. The project will be developed using Symfony 3.0 and
Angular 4.0.
I am new in automation testing. I have exposure in Python with
Selenium and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and
Selenium Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
80Vikram
2017-08-11 05:13:22 UTC
Reply
Permalink
Raw Message
Post by aslak hellesoy
I assume the training you went to used the "Shouty" case on the day with
programming. *[Yes]* We'd have to illustrate the technique with Shouty. [ *That
will be super helpful for the participants* ]
Post by 80Vikram
Participants can do "ecommerce ordering flow" automation at different
levels as per explanation from Björn.
Post by aslak hellesoy
Post by 80Vikram
Thanks Aslak for taking the feedback into consideration.
I feel this can be included into the exercise where participants write
actual code and see it working.
Most of day 2 is coding exercises - what particular exercise were you
thinking of?
Post by 80Vikram
Regards,
Vikram
Post by aslak hellesoy
Post by 80Vikram
Hi Björn,
Thanks a ton for this awesome tip.
I had attended official cucumber training for 2 days last year in
Basel but strangely this was never covered or talked about.
Thanks for your suggestion Vikram. As you'll remember, the 2-day
course has one non-technical and one technical day, and if we cover this
we'll have to remove something else.
I think it's an important topic to cover, so we'll see if we can tweak
the course material a little.
Cheers,
Aslak
Post by 80Vikram
IMHO this is quite critical topic to be covered as well during 2 days
course.
Kind Regards,
Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step
definitions by making direct method/function calls to the domain logic,
avoiding the UI...."
If I'm automating ordering flow in an e-commerce website with
Selenium, then I need to do all the calls ( selenium method calls on web
elements in ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute
the very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can
run in milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017
about this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice
cream cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to
follow BDD approach. The project will be developed using Symfony 3.0 and
Angular 4.0.
I am new in automation testing. I have exposure in Python with
Selenium and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and
Selenium Framework.
What will be the best solution here as I am looking for the
career prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the
Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
80Vikram
2017-08-11 09:06:33 UTC
Reply
Permalink
Raw Message
Hi Björn,

I went through the talk but the concept was pretty abstract and I didn't
fully understood it.

- Do you have any open source project where you tried this approach ?

- Per my understanding it only worked for Nat as their application was
based on "Ports-and-Adaptors" architecture, not sure if this will work in
other scenario lets say "e-commerce ordering flow" or mobile native app
like Uber.

- In my project, we do follow BDD and discuss & write user stories and try
to automate as much at unit level automation ( sdk / application code ) by
developers.

- QA is involved in doing all of exposed API automation and ofcourse UI
level functional automation as well which is not covered at unit / api
level ( Cucumber + Appium ) .

Thanks in advance.

Regards,
Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step definitions by
making direct method/function calls to the domain logic, avoiding the
UI...."
If I'm automating ordering flow in an e-commerce website with Selenium,
then I need to do all the calls ( selenium method calls on web elements in
ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a e-commerce
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute the
very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can run in
milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017 about this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice cream
cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow
BDD approach. The project will be developed using Symfony 3.0 and Angular
4.0.
I am new in automation testing. I have exposure in Python with Selenium
and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Robert
2017-08-15 20:05:17 UTC
Reply
Permalink
Raw Message
Hi Bjorn,
Post by 80Vikram
Hi Björn,
I went through the talk but the concept was pretty abstract and I didn't
fully understood it.
- Do you have any open source project where you tried this approach ?
- Per my understanding it only worked for Nat as their application was
based on "Ports-and-Adaptors" architecture, not sure if this will work in
other scenario lets say "e-commerce ordering flow" or mobile native app
like Uber.
- In my project, we do follow BDD and discuss & write user stories and try
to automate as much at unit level automation ( sdk / application code ) by
developers.
- QA is involved in doing all of exposed API automation and ofcourse UI
level functional automation as well which is not covered at unit / api
level ( Cucumber + Appium ) .
Thanks in advance.
Regards,
Vikram
I echo Vikram's thoughts. I went through Nat's presentation (he did a
wonderful job) -- not once, but 3 times -- and picked up minor tidbits here
and there. However, I guess I'm missing the big picture and some context.
Is there a github example that you might know of that lays this approach
out with concrete examples ??

Regards,
Robert
Post by 80Vikram
Post by Björn Rasmusson
Post by 80Vikram
Hi Aslak,
I didn't understand "...This allows you to implement step definitions by
making direct method/function calls to the domain logic, avoiding the
UI...."
If I'm automating ordering flow in an e-commerce website with Selenium,
then I need to do all the calls ( selenium method calls on web elements in
ordering flow ) at UI level right ?
If you are executing BDD specifications (feature files) for a e-commerce
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to execute the
very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that can run
in milliseconds" http://youtu.be/Fk4rCn4YLLU on CukeUp! 2017 about
this.
Regards
Björn
Post by 80Vikram
Thanks,
Vikram
Post by aslak hellesoy
Always pick a Cucumber implementation in the same language as the
application (in this case, Behat).
This allows you to implement step definitions by making direct
method/function calls to the domain logic, avoiding the UI.
This is the only way to achieve a test pyramid, and avoid an ice cream
cone: Slow, expensive and brittle tests/scenarios.
Aslak
Post by Deepak Sh
We want to implement Cucumber in our new project as we want to follow
BDD approach. The project will be developed using Symfony 3.0 and Angular
4.0.
I am new in automation testing. I have exposure in Python with
Selenium and little bit in Java with Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and Java/Python and Selenium
Framework.
What will be the best solution here as I am looking for the career
prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
George Dinwiddie
2017-08-15 23:07:11 UTC
Reply
Permalink
Raw Message
Robert, Björn, Vikram,

Perhaps you'd be interested in looking at
https://github.com/gdinwiddie/EquineHoroscope which demonstrates
acceptance testing mostly at the API level, unit testing to support
that, and, in this example, only a single GUI test to ensure things are
wired up correctly. There's an accompanying book on LeanPub if you're
interested in that.

- George
Post by Robert
Hi Bjorn,
Hi Björn,
I went through the talk but the concept was pretty abstract and I
didn't fully understood it.
- Do you have any open source project where you tried this approach ?
- Per my understanding it only worked for Nat as their application
was based on "Ports-and-Adaptors" architecture, not sure if this
will work in other scenario lets say "e-commerce ordering flow" or
mobile native app like Uber.
- In my project, we do follow BDD and discuss & write user stories
and try to automate as much at unit level automation ( sdk /
application code ) by developers.
- QA is involved in doing all of exposed API automation and ofcourse
UI level functional automation as well which is not covered at unit
/ api level ( Cucumber + Appium ) .
Thanks in advance.
Regards,
Vikram
I echo Vikram's thoughts. I went through Nat's presentation (he did a
wonderful job) -- not once, but 3 times -- and picked up minor tidbits
here and there. However, I guess I'm missing the big picture and some
context. Is there a github example that you might know of that lays
this approach out with concrete examples ??
Regards,
Robert
Hi Aslak,
I didn't understand "...This allows you to implement step
definitions by making direct method/function calls to the
domain logic, avoiding the UI...."
If I'm automating ordering flow in an e-commerce website
with Selenium, then I need to do all the calls ( selenium
method calls on web elements in ordering flow ) at UI level
right ?
If you are executing BDD specifications (feature files) for a
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to
execute the very same feature file using any of these access points.
Nat Pryce did a presentation "End to end functional tests that
can run in milliseconds" http://youtu.be/Fk4rCn4YLLU on
CukeUp! 2017 about this.
Regards
Björn
Thanks,
Vikram
On Tuesday, August 8, 2017 at 4:23:03 PM UTC+2, Aslak
Always pick a Cucumber implementation in the same
language as the application (in this case, Behat).
This allows you to implement step definitions by making
direct method/function calls to the domain logic,
avoiding the UI.
This is the only way to achieve a test pyramid, and
avoid an ice cream cone: Slow, expensive and brittle
tests/scenarios.
Aslak
On Wed, 12 Jul 2017 at 05:36, Deepak Sh
We want to implement Cucumber in our new project as
we want to follow BDD approach. The project will be
developed using Symfony 3.0 and Angular 4.0.
I am new in automation testing. I have exposure in
Python with Selenium and little bit in Java with
Selenium.
Should I go with the "in-process" or "out-of-process" ?
I am confused between PHP( using BEHAT) and
Java/Python and Selenium Framework.
What will be the best solution here as I am looking
for the career prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
---
You received this message because you are subscribed
to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving
emails from it, send an email to
For more options, visit
https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
----------------------------------------------------------------------
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
80Vikram
2017-08-17 08:55:55 UTC
Reply
Permalink
Raw Message
Hi George,

Thanks for sharing the project.

Can you please clarify per below doubts from my last 1 year of experiments
with BDD ?

1. My role is SDET and following BDD since last 1 year.
2. I am mainly involved automating UI & API
3. How & at which stage do you decide if user story or part of it can be
automated at unit level ?
4. Lets take an example of e-commerce application again

As a user I would like to order Tesla Model X from mygreenplanet.com

1.1 From my experience with BDD & Cucumber I will automate api which does
search, payment, order confirmation, user auth etc
1.2 But I will also automate this whole flow at UI level to make sure UI
layer has parsed info properly from api and shown to user in correct way.
1.3 As this is "business critical" flow, I will run api test cases every
few minutes with jenkins ( to make sure whole backend infrastructure is up
& running all the time) also these are cheap + fast tests but UI test
cases only when there is new change in UI master.

Please let me know from your experiences, how do you map "Test Pyramid"
with user stories discovered during 3 Amigos session ?

Thanks & Regards,
Vikram
Robert, Björn, Vikram,
Perhaps you'd be interested in looking at
https://github.com/gdinwiddie/EquineHoroscope which demonstrates
acceptance testing mostly at the API level, unit testing to support
that, and, in this example, only a single GUI test to ensure things are
wired up correctly. There's an accompanying book on LeanPub if you're
interested in that.
- George
Post by Robert
Hi Bjorn,
Hi Björn,
I went through the talk but the concept was pretty abstract and I
didn't fully understood it.
- Do you have any open source project where you tried this approach
?
Post by Robert
- Per my understanding it only worked for Nat as their application
was based on "Ports-and-Adaptors" architecture, not sure if this
will work in other scenario lets say "e-commerce ordering flow" or
mobile native app like Uber.
- In my project, we do follow BDD and discuss & write user stories
and try to automate as much at unit level automation ( sdk /
application code ) by developers.
- QA is involved in doing all of exposed API automation and ofcourse
UI level functional automation as well which is not covered at unit
/ api level ( Cucumber + Appium ) .
Thanks in advance.
Regards,
Vikram
I echo Vikram's thoughts. I went through Nat's presentation (he did a
wonderful job) -- not once, but 3 times -- and picked up minor tidbits
here and there. However, I guess I'm missing the big picture and some
context. Is there a github example that you might know of that lays
this approach out with concrete examples ??
Regards,
Robert
On Wednesday, August 9, 2017 at 4:02:14 PM UTC+2, Björn Rasmusson
Hi Aslak,
I didn't understand "...This allows you to implement step
definitions by making direct method/function calls to the
domain logic, avoiding the UI...."
If I'm automating ordering flow in an e-commerce website
with Selenium, then I need to do all the calls ( selenium
method calls on web elements in ordering flow ) at UI level
right ?
If you are executing BDD specifications (feature files) for a
e-commerce system, you have a choice of which access point to
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to
execute the very same feature file using any of these access
points.
Post by Robert
Nat Pryce did a presentation "End to end functional tests that
can run in milliseconds" http://youtu.be/Fk4rCn4YLLU on
CukeUp! 2017 about this.
Regards
Björn
Thanks,
Vikram
On Tuesday, August 8, 2017 at 4:23:03 PM UTC+2, Aslak
Always pick a Cucumber implementation in the same
language as the application (in this case, Behat).
This allows you to implement step definitions by making
direct method/function calls to the domain logic,
avoiding the UI.
This is the only way to achieve a test pyramid, and
avoid an ice cream cone: Slow, expensive and brittle
tests/scenarios.
Aslak
On Wed, 12 Jul 2017 at 05:36, Deepak Sh
We want to implement Cucumber in our new project as
we want to follow BDD approach. The project will be
developed using Symfony 3.0 and Angular 4.0.
I am new in automation testing. I have exposure in
Python with Selenium and little bit in Java with
Selenium.
Should I go with the "in-process" or
"out-of-process" ?
Post by Robert
I am confused between PHP( using BEHAT) and
Java/Python and Selenium Framework.
What will be the best solution here as I am looking
for the career prospective also. Please help me.
--
Posting rules: http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
---
You received this message because you are subscribed
to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving
emails from it, send an email to
For more options, visit
https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
----------------------------------------------------------------------
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
George Dinwiddie
2017-08-17 12:54:30 UTC
Reply
Permalink
Raw Message
Vikram,
Post by 80Vikram
Hi George,
Thanks for sharing the project.
Can you please clarify per below doubts from my last 1 year of
experiments with BDD ?
1. My role is SDET and following BDD since last 1 year.
2. I am mainly involved automating UI & API
3. How & at which stage do you decide if user story or part of it can be
automated at unit level ?
If the business rule that a scenario is checking is well-isolated, I
would wire up the scenario to just the class or module that implements
that business rule. Other scenarios will likely depend on the business
rule because the behavior they are checking has that dependency, but I
can thoroughly check the business rule by itself.

In such cases, though my scenario is expressed in business terms, it's
testing below the official API at a level that a unit test might.
Post by 80Vikram
4. Lets take an example of e-commerce application again
As a user I would like to order Tesla Model X from mygreenplanet.com
1.1 From my experience with BDD & Cucumber I will automate api which
does search, payment, order confirmation, user auth etc
1.2 But I will also automate this whole flow at UI level to make sure UI
layer has parsed info properly from api and shown to user in correct way.
1.3 As this is "business critical" flow, I will run api test cases every
few minutes with jenkins ( to make sure whole backend infrastructure is
up & running all the time) also these are cheap + fast tests but UI
test cases only when there is new change in UI master.
That sounds excellent, to me. I'm inclined to also run UI tests on a
periodic basis, nightly or weekly, for extra security. And in some
contexts, capture screenshots of every screen so someone can detect
visual problems (usually CSS clashes, IME) without having to traverse
the app.
Post by 80Vikram
Please let me know from your experiences, how do you map "Test Pyramid"
with user stories discovered during 3 Amigos session ?
When I was building this project, I wasn't thinking of the test pyramid
at the time. Instead, I was using heuristics to decide what to do, and
the test pyramid was a result of that. This was a new "aha" for me. The
test pyramid doesn't seem like a useful guide at the moment of
development, but a good yardstick for questioning the result.

I was programming this by myself (and what a drag it is to not have a
pair for discussing ideas), but in a team situation I would think that
the programmer would dive into the unit test level as soon as they start
working. I also TDD the test support code I need along the way. I've
encountered situations where there was a bug in the test support code,
so the tests weren't checking what people thought they were.

I have not watched it, yet, but Agile India 2017 videoed my talk on this
evolution. The talk doesn't include everything that the book does (due
to time constraints), but it might be helpful.


I'd love to hear your feedback to this material.

- George
Post by 80Vikram
Thanks & Regards,
Vikram
Robert, Björn, Vikram,
Perhaps you'd be interested in looking at
https://github.com/gdinwiddie/EquineHoroscope
<https://github.com/gdinwiddie/EquineHoroscope> which demonstrates
acceptance testing mostly at the API level, unit testing to support
that, and, in this example, only a single GUI test to ensure things are
wired up correctly. There's an accompanying book on LeanPub if you're
interested in that.
- George
Post by Robert
Hi Bjorn,
Hi Björn,
I went through the talk but the concept was pretty abstract
and I
Post by Robert
didn't fully understood it.
- Do you have any open source project where you tried this
approach ?
Post by Robert
- Per my understanding it only worked for Nat as their
application
Post by Robert
was based on "Ports-and-Adaptors" architecture, not sure if this
will work in other scenario lets say "e-commerce ordering
flow" or
Post by Robert
mobile native app like Uber.
- In my project, we do follow BDD and discuss & write user
stories
Post by Robert
and try to automate as much at unit level automation ( sdk /
application code ) by developers.
- QA is involved in doing all of exposed API automation and
ofcourse
Post by Robert
UI level functional automation as well which is not covered
at unit
Post by Robert
/ api level ( Cucumber + Appium ) .
Thanks in advance.
Regards,
Vikram
I echo Vikram's thoughts. I went through Nat's presentation (he
did a
Post by Robert
wonderful job) -- not once, but 3 times -- and picked up minor
tidbits
Post by Robert
here and there. However, I guess I'm missing the big picture and
some
Post by Robert
context. Is there a github example that you might know of that lays
this approach out with concrete examples ??
Regards,
Robert
On Wednesday, August 9, 2017 at 4:02:14 PM UTC+2, Björn
Hi Aslak,
I didn't understand "...This allows you to implement
step
Post by Robert
definitions by making direct method/function calls to
the
Post by Robert
domain logic, avoiding the UI...."
If I'm automating ordering flow in an e-commerce website
with Selenium, then I need to do all the calls (
selenium
Post by Robert
method calls on web elements in ordering flow ) at UI
level
Post by Robert
right ?
If you are executing BDD specifications (feature files)
for a
Post by Robert
e-commerce system, you have a choice of which access
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible to
execute the very same feature file using any of these
access points.
Post by Robert
Nat Pryce did a presentation "End to end functional tests
that
Post by Robert
can run in milliseconds" http://youtu.be/Fk4rCn4YLLU on
CukeUp! 2017 about this.
Regards
Björn
Thanks,
Vikram
On Tuesday, August 8, 2017 at 4:23:03 PM UTC+2, Aslak
Always pick a Cucumber implementation in the same
language as the application (in this case, Behat).
This allows you to implement step definitions by
making
Post by Robert
direct method/function calls to the domain logic,
avoiding the UI.
This is the only way to achieve a test pyramid, and
avoid an ice cream cone: Slow, expensive and brittle
tests/scenarios.
Aslak
On Wed, 12 Jul 2017 at 05:36, Deepak Sh
We want to implement Cucumber in our new
project as
Post by Robert
we want to follow BDD approach. The project
will be
Post by Robert
developed using Symfony 3.0 and Angular 4.0.
I am new in automation testing. I have
exposure in
Post by Robert
Python with Selenium and little bit in Java with
Selenium.
Should I go with the "in-process" or
"out-of-process" ?
Post by Robert
I am confused between PHP( using BEHAT) and
Java/Python and Selenium Framework.
What will be the best solution here as I am
looking
Post by Robert
for the career prospective also. Please help me.
--
http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
Post by Robert
<http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>>
Post by Robert
---
You received this message because you are
subscribed
Post by Robert
to the Google Groups "Cukes" group.
To unsubscribe from this group and stop
receiving
Post by Robert
emails from it, send an email to
For more options, visit
https://groups.google.com/d/optout
<https://groups.google.com/d/optout>
Post by Robert
<https://groups.google.com/d/optout
<https://groups.google.com/d/optout>>.
Post by Robert
--
Posting rules: http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
Post by Robert
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
send
Post by Robert
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
----------------------------------------------------------------------
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
----------------------------------------------------------------------
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Marit van Dijk
2017-08-19 13:04:09 UTC
Reply
Permalink
Raw Message
@Vikram,

We test different things at different levels of our applications:
if business logic is extensively tested on a lower/faster level (unit, api)
we do not check all cases again at a (slower) UI level. Instead we do more
of a smoke test on that level, including only some happy flows (or very
important unhappy flows).

Hope this helps!

Marit
Post by George Dinwiddie
Vikram,
Post by 80Vikram
Hi George,
Thanks for sharing the project.
Can you please clarify per below doubts from my last 1 year of
experiments with BDD ?
1. My role is SDET and following BDD since last 1 year.
2. I am mainly involved automating UI & API
3. How & at which stage do you decide if user story or part of it can be
automated at unit level ?
If the business rule that a scenario is checking is well-isolated, I
would wire up the scenario to just the class or module that implements
that business rule. Other scenarios will likely depend on the business
rule because the behavior they are checking has that dependency, but I
can thoroughly check the business rule by itself.
In such cases, though my scenario is expressed in business terms, it's
testing below the official API at a level that a unit test might.
Post by 80Vikram
4. Lets take an example of e-commerce application again
As a user I would like to order Tesla Model X from mygreenplanet.com
1.1 From my experience with BDD & Cucumber I will automate api which
does search, payment, order confirmation, user auth etc
1.2 But I will also automate this whole flow at UI level to make sure UI
layer has parsed info properly from api and shown to user in correct
way.
Post by 80Vikram
1.3 As this is "business critical" flow, I will run api test cases every
few minutes with jenkins ( to make sure whole backend infrastructure is
up & running all the time) also these are cheap + fast tests but UI
test cases only when there is new change in UI master.
That sounds excellent, to me. I'm inclined to also run UI tests on a
periodic basis, nightly or weekly, for extra security. And in some
contexts, capture screenshots of every screen so someone can detect
visual problems (usually CSS clashes, IME) without having to traverse
the app.
Post by 80Vikram
Please let me know from your experiences, how do you map "Test Pyramid"
with user stories discovered during 3 Amigos session ?
When I was building this project, I wasn't thinking of the test pyramid
at the time. Instead, I was using heuristics to decide what to do, and
the test pyramid was a result of that. This was a new "aha" for me. The
test pyramid doesn't seem like a useful guide at the moment of
development, but a good yardstick for questioning the result.
I was programming this by myself (and what a drag it is to not have a
pair for discussing ideas), but in a team situation I would think that
the programmer would dive into the unit test level as soon as they start
working. I also TDD the test support code I need along the way. I've
encountered situations where there was a bug in the test support code,
so the tests weren't checking what people thought they were.
I have not watched it, yet, but Agile India 2017 videoed my talk on this
evolution. The talk doesn't include everything that the book does (due
to time constraints), but it might be helpful.
http://youtu.be/JbPBNyc1E6o
I'd love to hear your feedback to this material.
- George
Post by 80Vikram
Thanks & Regards,
Vikram
On Wednesday, August 16, 2017 at 1:07:18 AM UTC+2, George Dinwiddie
Robert, Björn, Vikram,
Perhaps you'd be interested in looking at
https://github.com/gdinwiddie/EquineHoroscope
<https://github.com/gdinwiddie/EquineHoroscope> which demonstrates
acceptance testing mostly at the API level, unit testing to support
that, and, in this example, only a single GUI test to ensure things
are
Post by 80Vikram
wired up correctly. There's an accompanying book on LeanPub if
you're
Post by 80Vikram
interested in that.
- George
Post by Robert
Hi Bjorn,
Hi Björn,
I went through the talk but the concept was pretty abstract
and I
Post by Robert
didn't fully understood it.
- Do you have any open source project where you tried this
approach ?
Post by Robert
- Per my understanding it only worked for Nat as their
application
Post by Robert
was based on "Ports-and-Adaptors" architecture, not sure if
this
Post by 80Vikram
Post by Robert
will work in other scenario lets say "e-commerce ordering
flow" or
Post by Robert
mobile native app like Uber.
- In my project, we do follow BDD and discuss & write user
stories
Post by Robert
and try to automate as much at unit level automation ( sdk /
application code ) by developers.
- QA is involved in doing all of exposed API automation and
ofcourse
Post by Robert
UI level functional automation as well which is not covered
at unit
Post by Robert
/ api level ( Cucumber + Appium ) .
Thanks in advance.
Regards,
Vikram
I echo Vikram's thoughts. I went through Nat's presentation (he
did a
Post by Robert
wonderful job) -- not once, but 3 times -- and picked up minor
tidbits
Post by Robert
here and there. However, I guess I'm missing the big picture and
some
Post by Robert
context. Is there a github example that you might know of that
lays
Post by 80Vikram
Post by Robert
this approach out with concrete examples ??
Regards,
Robert
On Wednesday, August 9, 2017 at 4:02:14 PM UTC+2, Björn
Hi Aslak,
I didn't understand "...This allows you to implement
step
Post by Robert
definitions by making direct method/function calls to
the
Post by Robert
domain logic, avoiding the UI...."
If I'm automating ordering flow in an e-commerce
website
Post by 80Vikram
Post by Robert
with Selenium, then I need to do all the calls (
selenium
Post by Robert
method calls on web elements in ordering flow ) at UI
level
Post by Robert
right ?
If you are executing BDD specifications (feature files)
for a
Post by Robert
e-commerce system, you have a choice of which access
- browser
- http service
- direct call to the domain layer
By using different sets of step definition it is possible
to
Post by 80Vikram
Post by Robert
execute the very same feature file using any of these
access points.
Post by Robert
Nat Pryce did a presentation "End to end functional tests
that
Post by Robert
can run in milliseconds" http://youtu.be/Fk4rCn4YLLU
on
Post by 80Vikram
Post by Robert
CukeUp! 2017 about this.
Regards
Björn
Thanks,
Vikram
On Tuesday, August 8, 2017 at 4:23:03 PM UTC+2, Aslak
Always pick a Cucumber implementation in the same
language as the application (in this case,
Behat).
Post by 80Vikram
Post by Robert
This allows you to implement step definitions by
making
Post by Robert
direct method/function calls to the domain logic,
avoiding the UI.
This is the only way to achieve a test pyramid,
and
Post by 80Vikram
Post by Robert
avoid an ice cream cone: Slow, expensive and
brittle
Post by 80Vikram
Post by Robert
tests/scenarios.
Aslak
On Wed, 12 Jul 2017 at 05:36, Deepak Sh
We want to implement Cucumber in our new
project as
Post by Robert
we want to follow BDD approach. The project
will be
Post by Robert
developed using Symfony 3.0 and Angular 4.0.
I am new in automation testing. I have
exposure in
Post by Robert
Python with Selenium and little bit in Java
with
Post by 80Vikram
Post by Robert
Selenium.
Should I go with the "in-process" or
"out-of-process" ?
Post by Robert
I am confused between PHP( using BEHAT) and
Java/Python and Selenium Framework.
What will be the best solution here as I am
looking
Post by Robert
for the career prospective also. Please help
me.
Post by 80Vikram
Post by Robert
--
http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
Post by Robert
<http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>>
Post by Robert
---
You received this message because you are
subscribed
Post by Robert
to the Google Groups "Cukes" group.
To unsubscribe from this group and stop
receiving
Post by Robert
emails from it, send an email to
For more options, visit
https://groups.google.com/d/optout
<https://groups.google.com/d/optout>
Post by Robert
<https://groups.google.com/d/optout
<https://groups.google.com/d/optout>>.
Post by Robert
--
Posting rules: http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
Post by Robert
---
You received this message because you are subscribed to the
Google
Post by 80Vikram
Post by Robert
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
send
Post by Robert
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
----------------------------------------------------------------------
Post by 80Vikram
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
Post by 80Vikram
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
----------------------------------------------------------------------
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
George Dinwiddie
2017-08-19 16:14:26 UTC
Reply
Permalink
Raw Message
Marit,

Thank you for mentioning "very important unhappy flows." I don't have an
example of that in my Equine Horoscope project, but that's an important
thing to remember. I use UI level checks to make sure that what the
end-user sees is appropriate even when things go haywire on the back
end. If I've designed the code well, I don't have to check all such
haywire conditions, knowing that they will all be caught and handled
similarly.

All in all, my rule of thumb is to test any desired functionality at the
lowest level of abstraction possible. The reporting of problems to the
user is one of those things that can only be tested at the UI level.

- George
Post by Marit van Dijk
@Vikram,
if business logic is extensively tested on a lower/faster level (unit,
api) we do not check all cases again at a (slower) UI level. Instead we
do more of a smoke test on that level, including only some happy flows
(or very important unhappy flows).
Hope this helps!
Marit
Vikram,
Post by 80Vikram
Hi George,
Thanks for sharing the project.
Can you please clarify per below doubts from my last 1 year of
experiments with BDD ?
1. My role is SDET and following BDD since last 1 year.
2. I am mainly involved automating UI & API
3. How & at which stage do you decide if user story or part of it
can be
Post by 80Vikram
automated at unit level ?
If the business rule that a scenario is checking is well-isolated, I
would wire up the scenario to just the class or module that implements
that business rule. Other scenarios will likely depend on the business
rule because the behavior they are checking has that dependency, but I
can thoroughly check the business rule by itself.
In such cases, though my scenario is expressed in business terms, it's
testing below the official API at a level that a unit test might.
Post by 80Vikram
4. Lets take an example of e-commerce application again
As a user I would like to order Tesla Model X from
mygreenplanet.com <http://mygreenplanet.com>
Post by 80Vikram
1.1 From my experience with BDD & Cucumber I will automate api which
does search, payment, order confirmation, user auth etc
1.2 But I will also automate this whole flow at UI level to make
sure UI
Post by 80Vikram
layer has parsed info properly from api and shown to user in
correct way.
Post by 80Vikram
1.3 As this is "business critical" flow, I will run api test
cases every
Post by 80Vikram
few minutes with jenkins ( to make sure whole backend
infrastructure is
Post by 80Vikram
up & running all the time)  also these are cheap + fast tests but UI
test cases only when there is new change in UI master.
That sounds excellent, to me. I'm inclined to also run UI tests on a
periodic basis, nightly or weekly, for extra security. And in some
contexts, capture screenshots of every screen so someone can detect
visual problems (usually CSS clashes, IME) without having to traverse
the app.
Post by 80Vikram
Please let me know from your experiences, how do you map "Test
Pyramid"
Post by 80Vikram
with user stories discovered during 3 Amigos session ?
When I was building this project, I wasn't thinking of the test pyramid
at the time. Instead, I was using heuristics to decide what to do, and
the test pyramid was a result of that. This was a new "aha" for me. The
test pyramid doesn't seem like a useful guide at the moment of
development, but a good yardstick for questioning the result.
I was programming this by myself (and what a drag it is to not have a
pair for discussing ideas), but in a team situation I would think that
the programmer would dive into the unit test level as soon as they start
working. I also TDD the test support code I need along the way. I've
encountered situations where there was a bug in the test support code,
so the tests weren't checking what people thought they were.
I have not watched it, yet, but Agile India 2017 videoed my talk on this
evolution. The talk doesn't include everything that the book does (due
to time constraints), but it might be helpful.
http://youtu.be/JbPBNyc1E6o
http://youtu.be/JbPBNyc1E6o
I'd love to hear your feedback to this material.
  - George
Post by 80Vikram
Thanks & Regards,
Vikram
On Wednesday, August 16, 2017 at 1:07:18 AM UTC+2, George
    Robert, Björn, Vikram,
    Perhaps you'd be interested in looking at
https://github.com/gdinwiddie/EquineHoroscope
<https://github.com/gdinwiddie/EquineHoroscope>
Post by 80Vikram
    <https://github.com/gdinwiddie/EquineHoroscope
<https://github.com/gdinwiddie/EquineHoroscope>> which demonstrates
Post by 80Vikram
    acceptance testing mostly at the API level, unit testing to
support
Post by 80Vikram
    that, and, in this example, only a single GUI test to ensure
things are
Post by 80Vikram
    wired up correctly. There's an accompanying book on LeanPub
if you're
Post by 80Vikram
    interested in that.
       - George
     > Hi Bjorn,
     >
     > On Friday, August 11, 2017 at 2:06:34 AM UTC-7, 80Vikram
     >
     >     Hi Björn,
     >
     >     I went through the talk but the concept was pretty
abstract
Post by 80Vikram
    and I
     >     didn't fully understood it.
     >
     >     - Do you have any open source project where you tried
this
Post by 80Vikram
    approach ?
     >
     >     - Per my understanding it only worked for Nat as their
    application
     >     was based on "Ports-and-Adaptors" architecture, not
sure if this
Post by 80Vikram
     >     will work in other scenario lets say "e-commerce ordering
    flow" or
     >     mobile native app like Uber.
     >
     >     - In my project, we do follow BDD and discuss & write
user
Post by 80Vikram
    stories
     >     and try to automate as much at unit level automation (
sdk /
Post by 80Vikram
     >     application code ) by developers.
     >
     >     - QA is involved in doing all of exposed API
automation and
Post by 80Vikram
    ofcourse
     >     UI level functional automation as well which is not
covered
Post by 80Vikram
    at unit
     >     / api level ( Cucumber + Appium ) .
     >
     >     Thanks in advance.
     >
     >     Regards,
     >     Vikram
     >
     >
     > I echo Vikram's thoughts. I went through Nat's
presentation (he
Post by 80Vikram
    did a
     > wonderful job) -- not once, but 3 times -- and picked up
minor
Post by 80Vikram
    tidbits
     > here and there.  However, I guess I'm missing the big
picture and
Post by 80Vikram
    some
     > context.  Is there a github example that you might know of
that lays
Post by 80Vikram
     > this approach out with concrete examples ??
     >
     > Regards,
     > Robert
     >
     >
     >     On Wednesday, August 9, 2017 at 4:02:14 PM UTC+2, Björn
     >
     >
     >             Hi Aslak,
     >
     >             I didn't understand "...This allows you to
implement
Post by 80Vikram
    step
     >             definitions by making direct method/function
calls to
Post by 80Vikram
    the
     >             domain logic, avoiding the UI...."
     >
     >             If I'm automating ordering flow in an
e-commerce website
Post by 80Vikram
     >             with Selenium, then I need to do all the calls (
    selenium
     >             method calls on web elements in ordering flow
) at UI
Post by 80Vikram
    level
     >             right ?
     >
     >
     >         If you are executing BDD specifications (feature
files)
Post by 80Vikram
    for a
     >         e-commerce system, you have a choice of which access
     >         - browser
     >         - http service
     >         - direct call to the domain layer
     >         By using different sets of step definition it is
possible to
Post by 80Vikram
     >         execute the very same feature file using any of these
    access points.
     >         Nat Pryce did a presentation "End to end
functional tests
Post by 80Vikram
    that
     >         can run in milliseconds"
http://youtu.be/Fk4rCn4YLLU on
Post by 80Vikram
     >         CukeUp! 2017 about this.
     >
     >         Regards
     >         Björn
     >
     >
     >             Thanks,
     >             Vikram
     >
     >             On Tuesday, August 8, 2017 at 4:23:03 PM
UTC+2, Aslak
Post by 80Vikram
     >
     >                 Always pick a Cucumber implementation in
the same
Post by 80Vikram
     >                 language as the application (in this case,
Behat).
Post by 80Vikram
     >
     >                 This allows you to implement step
definitions by
Post by 80Vikram
    making
     >                 direct method/function calls to the domain
logic,
Post by 80Vikram
     >                 avoiding the UI.
     >
     >                 This is the only way to achieve a test
pyramid, and
Post by 80Vikram
     >                 avoid an ice cream cone: Slow, expensive
and brittle
Post by 80Vikram
     >                 tests/scenarios.
     >
     >                 Aslak
     >
     >                 On Wed, 12 Jul 2017 at 05:36, Deepak Sh
     >
     >                     We want to implement Cucumber in our new
    project as
     >                     we want to follow BDD approach. The
project
Post by 80Vikram
    will be
     >                     developed using Symfony 3.0 and
Angular 4.0.
Post by 80Vikram
     >
     >                     I am new in automation testing. I have
    exposure in
     >                     Python with Selenium and little bit in
Java with
Post by 80Vikram
     >                     Selenium.
     >
     >                     Should I go with the "in-process" or
    "out-of-process" ?
     >
     >                     I am confused between PHP( using
BEHAT) and
Post by 80Vikram
     >                     Java/Python and Selenium Framework.
     >
     >                     What will be the best solution here as
I am
Post by 80Vikram
    looking
     >                     for the career prospective also.
Please help me.
Post by 80Vikram
     >
     >
     >
     >
     >
     >
     >
     >
     >                     --
     >
     >
http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
Post by 80Vikram
    <http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>>
Post by 80Vikram
     >                     <http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
Post by 80Vikram
    <http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>>>
Post by 80Vikram
     >
     >
     >                     ---
     >
     >
     >                     You received this message because you are
    subscribed
     >                     to the Google Groups "Cukes" group.
     >
     >
     >                     To unsubscribe from this group and stop
    receiving
     >                     emails from it, send an email to
     >
     >
     >                     For more options, visit
     > https://groups.google.com/d/optout
<https://groups.google.com/d/optout>
Post by 80Vikram
    <https://groups.google.com/d/optout
<https://groups.google.com/d/optout>>
Post by 80Vikram
     >                     <https://groups.google.com/d/optout
<https://groups.google.com/d/optout>
Post by 80Vikram
    <https://groups.google.com/d/optout
<https://groups.google.com/d/optout>>>.
Post by 80Vikram
     >
     >
     > --
     > Posting rules: http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
Post by 80Vikram
    <http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>>
Post by 80Vikram
     > ---
     > You received this message because you are subscribed to
the Google
Post by 80Vikram
     > Groups "Cukes" group.
     > To unsubscribe from this group and stop receiving emails
from it,
Post by 80Vikram
    send
     > For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>
Post by 80Vikram
    <https://groups.google.com/d/optout
<https://groups.google.com/d/optout>>.
Post by 80Vikram
    --
----------------------------------------------------------------------
Post by 80Vikram
        * George Dinwiddie * http://blog.gdinwiddie.com
        Software Development http://www.idiacomputing.com
        Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
Post by 80Vikram
--
Posting rules: http://cukes.info/posting-rules.html
<http://cukes.info/posting-rules.html>
Post by 80Vikram
---
You received this message because you are subscribed to the Google
Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it,
send
Post by 80Vikram
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
----------------------------------------------------------------------
   * George Dinwiddie * http://blog.gdinwiddie.com
   Software Development http://www.idiacomputing.com
   Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send
For more options, visit https://groups.google.com/d/optout.
--
----------------------------------------------------------------------
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...