Your boss doesn't want a flat "No" or to hear their request is impractical.
They want to reduce the risk of releasing changes to the application.
Make your boss choose your priorities, that is one of the roles of a manager.
Add scenarios based on team knowledge and work with your boss to rank them by risk.
Implement top priority scenarios
Go back to ...
A hard coded sleep statement is generally supposed to represent some sort of mocked delay in the application that doesn't exist during testing.
The harmful aspect of this is that a hard coded value can't represent the complexity that actually exists in what its mocking.
Take for example a network delay. Your production system usually takes 4 seconds to go ...
John Ruberto wrote an article some years ago on Stickyminds entitled, "Is 100% Unit Test Coverage Enough?". The article can be found here:
In it he presents the argument that there are different kinds of coverage. One could cover 100% of requirements, but that doesn't include ...
I suspect this is not a TestNG issue. I would start by trying to produce a minimal set of tests that, when run together, cause failures. After that, I would explore these possibilities:
Inter-test interaction changes test-application interaction: It is possible that interaction between your tests changes how your test interactions with your application. ...
How to get started with Selenium: A Brief Overview
So you want to automate browser-driven tests, and you're not sure where to get started. You've heard of this "Selenium" thing, and you think it's what you want, but you can't be sure. Fret not! Here's a quick rundown of what you're looking at and how to get going. This is mostly adapted from two sources: ...
Your automated tests are currently set up to answer the question "What isn't working as expected?"
Now you want them to answer the question "What isn't working that I don't already know about?"
Your solution is to change the automated tests so that they account for the "known" bugs in one of two ways:
You could comment out the tests which find every known ...
For Test Automation purposes, it's always been my belief that once you know 2 scripting languages, you are in very good shape.
Being comfortable with 2 languages means you know how to automate, and that you know how to learn a new scripting language. As a hiring manager, I will be able to assume that you could easily pick up another new language as needed.
You've got quite a few questions in your one question, but overall it sounds like what you want answered is: How can I learn to write automation so I can switch from a 100% manual testing role into a role that involves writing automation. I'll get to answering that one, but first...
Honestly, if you are already manually testing in your current position, ...
To broadly address your question, just pick some test cases with simple interactions that aren't very dynamic and automate those. Trial, error, and practice will get you there.
Is Java mostly used for Selenium tests? Do you recommend it over C#?
According to StackOverflow, there are more Selenium tagged questions in Java than any other language (as of ...
I have struggled with this issue in several companies. It always seems to come up at some point and then be a major issue over time.
I too have walked the path of sleeps, polling waits, check for ajax done, check for js done, check for animations done, etc. They sometimes help with some of the errors but it always seems that just when you think you have ...
The main harm occurs when the time value you use in your Sleep statement isn't appropriate for the current instance of the test.
Your script might Sleep for 4 seconds, because that's how long it took for some important object to appear when you created your script. Then the script moves on with actions using that new object.
But when you re-run the script, ...
I have had exactly the same assignment earlier this year, for APIs written in C#. Options I have (tried to) build a PoC for were:
Own framework built in C# using either RestSharp or HttpClient.
In agreement with the test lead and architecture team, we have decide to use our own C# API testing framework for the following reasons:
Ease of ...
It's always good to use numbers to make your point-
There are N models and sub models of iPhones (for some applications you should also count the phone's network sub-type), each with M available iOS versions and sub versions (this is not entirely accurate, some models and iOS versions don't work together, but never mind that now)
Older iOS versions needs ...
You could start with unit tests, while the application is being developed. In Java you can use JUnit for this.
If you don't have a fully functioning system yet, you can use mocking to mock objects. In Java this is done with Mockito or JMockit.
Look into unit testing and TDD (Test Driven Development).
Once you are ready to integrate different components, ...
Flaky test is well-known pain point:
How to deal with flaky tests that have intermittent failures? (on SO, and links from it)
How to deal with flaky tests that have intermittent failures? and Where do our flaky tests come from? on Goggle Blog.
How to fix Flaky Test Automation - another collection, thanks to @Rsf
Because so many extremely smart people were ...
Automate a test in the simplest way possible
Automate another test
Repeat and evolve into a robust framework
Your plan sounds traditional and will probably result in a lot of research and over-engineering. Start simple and let your tests form around your application and business. Tackle uncertainties as soon as possible. Don't make your plan ...
Your POC report is destined for the manager who wants to know the outcome of your investigation. More importantly, he'll have to decide whether to continue with the POC results, do another one (with different technology, for example) or stop investing in test automation at all.
So, try to make your POC report as informative and comprehensive as possible.
I believe its a very good practice, In my company we do exactly the same, I assume this is only because of historical reasons (in our case) but in general, you will try to have the smallest number of the system possible so for the medium future, it probably makes sense to unify test automation script with the source code as the same version.
The programming language you pursue should be predicated on
The technology space you are most interested in (web, platform, mobile, etc)
The market trends in your area (e.g. what language skills are employers most looking for)
On a side note, I don't know why some people get so focused on a particular "programming langauge." Instead, I recommend learning ...
Another approach that might help with the portability is to run you SQL from an application test harness. If you use the SQL inline with this you have the ability to take the exe to any installation and just run it. To expand on using a testing framework there are several really good articles on Simple Talk about Unit testing sql code. They are good reads....
It isn't necessary to have strong - or any - coding skill to perform software testing or to be a highly skilled tester. No tool will ever replace the ability of a skilled manual tester to observe something that is not quite right in some way and trace the problem.
When it comes to automation, things get interesting. There are numerous tools that claim to ...
My first advice is to not write automated tests for pages that change frequently. You may be better off testing those pages manually.
If you insist on automation, think about which aspects of the pages do not change, and write classes to model those aspects. For example, if forms always consist of text fields and a submit button, you can write a class to ...
Although, this question is too broad to answer but in short I can say 'It depends upon number of factor which tool you want to use'.
Scope of Automation
Skillset available with team
Complexity/functionalities of automation
Test case management
Tool support, etc.
Don't just compare the tools theoretically, use them for ...
From this and from your other question about using Excel as input for Selenium, I have a feeling that you need to improve your general programming skills. If you are competent programmer, selenium is just yet another library you have to use to make your program to do what you want it to do. Not trivial, but not rocket science either (for a competent ...
Page object is an design pattern.
First you should understand the difference between framework and design pattern.
For that refer this link.
To understand page object design pattern refer this link.
Use Unofficial site for more detail : Do a Google search, you will get a lot info on this link.
Page Object Pattern
A partial answer to your many questions:
Jenkins - yes, Jenkins is used by many organizations for their CI pipeline, including UI automation like Selenium scripts.
Typical Selenium Project - there is no such thing, any more than there is a typical website. The best you are going to get is broad guidelines such as:
Don't Repeat Yourself (DRY) - If you find ...
In the end I have gone with robotframework, as it is open source, well documented, and highly extensible. I've gone for the python version as opposed to jython, but this is mostly because I already have a decent python environment set up and have experience with python, but not java, so would like to be able to make use of its standard library in my test ...
There's The Secret Ninja Cucumber Scrolls from Gojko - I started off with this
I'm currently reading The Cucumber Book from Matt Wynne
The RSpec book might also be useful
and a bunch of resources here
( I have no experience with ...
IMHO, a team lead who is a developer with less knowledge in testing, is the wrong kind of person to be selecting a test tool.
Do you have any QA Professionals on your team - perhaps someone with test tool experience? Or, lacking that do you have anyone on the team who will actually be tasked with using a test tool? I would suggest you turn to them.
Oh Boy! you might start another one of the Java vs Python vs Other language war. These are kind of question which are always answered with preference for a specific language in mind.
For me- I would prefer Python over Java, because of one reason : Its simplicity.
Our test team comprises of people who have little programming experience. However, most of ...