Best practices for designing Gherkin based Web Test Automation framework using selenium? [closed] - selenium

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
what is the Best practice for designing gherkin based UI Automation framework using selenium
Browser instance
For Feature wise steps definitions or page wise.
Exception handling
Logging functionality
Execution According to feature or Scenario using MSTest
Integration With Continuous Integration tool like jenkin.

Have you invested any time at looking what's possible so far?
Browser instance - Doesn't that depend on which browser you want selenium to automate, for example, would you want to run the same actions on different browsers to test it works on each one?
Feature wise or page wise steps - Specflow doesn't care, it treats all bindings as global so it really is a personal thing. The only issue comes where you mix bindings from different classes and expect them to share some data, but even then Specflow has some pretty neat DI like instantiation to make it easier.
Exception handling - this isn't relevant during testing. You simply want something that gets out of the way and lets you see it fail when expected.
Logging - During testing you don't care. Just pick something with a null logger.
Execution of specific tests - see ReSharper or built in runner in VS2012+, or even better ncrunch
CI integration - Since Specflow tests are just Nunit or MsTest tests then any CI system should just handle them. I'd pick TeamCity as it's probably the standard for DotNet CI

Related

"Record and play" tools or "Code/script based" tools? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 months ago.
Improve this question
I am new in test automation.
We are going to plan to start test automation for our platforms (iOS, Android and Web).
I should decide between "Record and Play" tools (eg. Ranorex) or "Code/script based" tools (eg. Selenium) with C# programming.
I have already tried both Ranorex and Selenium, but I cannot decide which tools should I choose.
I would be so grateful, if you could help me to choose the right tools.
Recored and play for e.g. SELENIUM IDE .
Disadvantage :
Works in Mozilla only.
No object orientation.
Advantage :
Record and play option.
Does not require server to start testing.
It has UI.
Core engine is Javascript based.
for this Code/script based we have Selenium webdriver.
Advantage :
Support for multi browser.
API's are entirely object oriented.
Interacts natively with browser applications.
Does not require server to start testing.
Disadvantage :
Does not support record and playback and has No UI.
Conclusion :
It depends on your team, budget, software, and there are n number of factors, but My preference has been code, since once you've the code written you can run that code on multiple browser and on multiple platform. so basically you have more coverage with mere changes.
Based on my own experience and the experience of all the professionals I worked with and spoken with it is much better to work with Code/script based tools like Selenium.
The most "problem" in this approach - you will need engineers with good coding skills to perform this job while to make automation with Record and Play tools you can do with less professional staff.
if you go for ranorex you'll get both:
Selenium WebDriver is built into the Ranorex core
Here you can find a list, comparing selenium vs. ranorex

How to decide which type of testing(Manual or automation) required when we get new web application? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
How to decide which type of testing(Manual or automation) required for a project or application to test?
What are the parameters we have to consider to select which type of testing(Manual or automation) to test very new application?
It depends on :-
Size of the project- If the project is large and consist of so many functionalities then automation testing is suggested
How many times you want to test a particular feature- If the requirement is to test regularly then automation test is best
Font size and image- This can not be tested through any automation tool so to test this, one should need to do manual testing
To find bugs- If one needs to find a lot of bugs, Manual testing is suggested.
You shouldn't have to choose between automation testing and manual testing the way you're asking. The way you're asking it gives me the feeling that the product is already waiting to be tested. In this case you would need to resort to manual testing.
Ideally you would want to have both and even more of automation. Some of the questions that you need to ask are:
Is this a new project or an existing one? If it's a new project then it's easier to plan for automation from the start. You could start implementing automation tests from the start. If it's an existing project then you'll need time to set up automation + write scripts etc. Then you have to resort to manual testing initially.
Is there any existing team? If yes, then what are they doing. You need to continue the process instead of suddenly disrupting it for anyone.
How much resources (money+people) do you have? Do you have manual testing resources? Are they busy or do they have bandwidth? How many automation test resources do you have?
What kind of project is it? Who does it go to? Does it have human lives depending upon it? Does it need a legal certificate of some kind for being tested?
There's just too many questions based on how your question is currently stated. I hope that this answers your question when we consider it generally. But if you're looking for a particular answer then please consider adding more context.

Testing Symfony3 best practices [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I would like to know which is the best technology for testing Symfony apps. My idea is to test all the Application layers, starting with the Database (repository and queries), the services , Controllers and Views.
I check about this but i'm not sure which direction to follow. I found out some tool like Phpspec and Behat but i'm not sure they fit my need and which one is the best... What do you guys suggest?
This is what we've been doing at work last 4 years.
Use Behat for testing the behaviour of the app. We mainly cover how GUI related features (twig, templates, browser, file upload, client side validation, API request&response etc) behave however if you wish you can also cover how the app functionality behaves like such as (DB CRUD operations, testing emailing features, commands, queuing systems such as RabbitMQ, Beanstalk etc.) so you're not limited at all.
Use PhpSpec for testing the functionality of the app or a part of a feature or whole. We cover services, util classes, listeners so on.
Do not test controllers because we keep them as "thin" as possible as we follow "thin controller, fat services" approach.
So in general, Behat is pretty powerful to cover most of the cases so we have more behat tests than PhpSpec. You can use any appropriate testing tool such as PhpUnit so you're free to test others.
Plenty of Behat examples
Plenty of Symfony examples
A few PhpSpec examples

Why Selenium is becoming more popular than QTP? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Recent stats from job trends:
There is a steady raise in Selenium stats from 2008, birth of Selenium WebDriver in market.
Suggest your views and ideas on this... So that the future generation will learn from you.
It is also fair to say that Selenium is very light-weight and developer-friendly. You can easily integrate with existing unit testing tools in the same language in use by developers. Tests can be executed quickly and provide immediate feedback. You can even run multiple tests concurrently on the same machine, where QTP only lets you run one test at a time.
Lots of reason. To name a few -
Selenium is an OpenSource Tool [Free].
Selenium has a very active community for support and updates.
Selenium gives you freedom of choosing programming language.
Selenium can be used in any OS environment (If I am not wrong QTP is limited to Windows)
You can use selenium with any IDE of your choice.
Large array of drivers (browsers like IE, FF, etc even Android and all)
Again because it is FOSS. Free and very active community.
Every tool has it's pros and cons; And even Selenium has cons. But, what makes it better than QTP is:
Open source
Highly Extensible (Vast varieties of add-ons)
Supports various operating systems
Can run tests across different browsers

selenium vs phpunit/lime? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have seen the power of Selenium and that it can give you the tests in different languages.
So the question is, why should I use PHPUnit or Lime (for Symfony) when a solution like Selenium is available?
Isn't it time-consuming to write all the tests by hand, when you can just use Selenium?
phpunit and selenium do not test the same things phpunit test a unit of code selenium is designed for testing integration/functional testing of several modules together.
I think you need both types of tests. phpunit for unit testing and selenium for interface testing. The phpunit manual even explains how to integrate the two.
http://www.phpunit.de/manual/3.6/en/selenium.html
Also this article explains the purpose of both. http://software-testing-zone.blogspot.com/2007/01/unit-testing-versus-functional-tests.html
I understand the desire to use selenium for everything it seems so simple, you can just click and write a test, but it really is a a case of needing both. You may want to pick up a copy of "Expert PHP 5 Tools"
http://www.amazon.com/Expert-PHP-Tools-Dirk-Merkel/dp/1847198384/ref=sr_1_1?ie=UTF8&s=books&qid=1273111115&sr=8-1
It covers the different types of tests and their use quite well.
Well in the case of sf+lime there is some good integration directly in the framework. And lime is so simple that tests take little time to write at all. Personally i prefer phpunit, but when i use symfony i just stick with lime because its the path of least resistance and sppeds things up. There is/was a php unit plugin for sf but ive never used it - i figured why bother. Now for other non-sf projects i use phpunit when needed simply because its no more difficult than hooking up lime.