13

my colleagues suggest me to learn and create a fully functional - generic framework which any team can use? I suggest you don't. Your coworkers suggest you to start over-engineering. It is fine to experiment. Automate a test, automate another one. Maybe a reusable abstraction emerges. Maybe this becomes a reusable framework. Practise the YAGNI (You aren'...


9

If the Java GUI application is based on Swing, AssertJ Swing is probably one of the best open source libraries. It's a fork of FEST and has several advantages: Simulation of user interaction with a GUI (e.g. drag 'n drop) Reliable GUI component lookup (by type, by name or custom search criteria) Support for all Swing components included in the JDK ...


8

It depends. Right now you might not see much need for a single repository design. Later, you may find your opinion changes. You might want to use a single repository if you need to keep your different projects in sync. It's more difficult to keep separate repositories in sync than a single repository. your team members will need to switch between ...


7

I think you are missing out the definition of "Framework" https://smartbear.com/learn/automated-testing/test-automation-frameworks/ A framework is comprised of a combination of practices and tools that are designed to help QA professionals test more efficiently. These guidelines could include coding standards, test-data handling methods, ...


6

I used my fifth-grade math skills to calculate how much money I'll need to buy coffee. Some suggest that I did it because I'm terrified of college calculus. (I'm paraphrasing.) People say silly things. If you created a simple tool to do a job and it is done well, then good job. It does what it is supposed to and it is simple to maintain. It would actually ...


6

Pros It is open source tool, anyone can download & use It supports various operating environments (Windows, Linux, Mac etc...) It supports various programming languages to create and execute Tests It supports all popular web browsers It supports parallel test execution It uses less Hardware resources as compare to other popular tools like ...QTP/UFT ...


6

Pros: Open source, active contributions 24/7 Wide range of supported languages Lots of online resources Good multi browser support / Parallel testing Excellent for what it does (when you learn to implement it properly to prevent flaky/brittle tests) Easy integration with the likes of Maven/TestNG/Jenkins etc Multi OS support Lightweight in terms of ...


4

I know about several open source tools hosted on GitHub but didn't try them yet. Just created a list for future learning. Any additions and comments are welcome. TestFX - 213* Automation (Groovy & Java) - 48* swinger (JRuby, Cucumber-based) - 47* Marathon - 31* Window Tester - 5* This list might be updated in the future. I'm maintaining it at the ...


4

Adding to the awesome and very detailed existing answers. There is a well-known success story of using a single large repository - Facebook and Google. As of 2014, Facebook's main repository was 54 GB in size. As of 2016, Google's main repository had 35 millions commits. One of the most important advantages of having a single repo is atomic commits across ...


4

Running all tests at once is something that a Continuous Integration server should do for you, not something you do manual as it lets you wait for a long time. Let a server do the work and reporting. Multiple repo's have the following advantages: Easier to schedule parallel-runs in a CI. Will be faster. (technically also possible with a single repo, but ...


3

When you set out to solve as general a problem as "something that can be used to test just anything", the programming language you use to code the framework is less important than the abstractions you support. That is where I would start.


3

You could try developing your own framework for a small demo site. Start small, add stuff when you need them. Take the existing framework as a model to look up to, but don't sweat if you don't understand everything yet. Be patient and try to understand one bit of it at a time.


2

I would apply KISS and YAGNI principle: Keep It Simple, and You Ain't Gonna Need It. Start with one, and split into separate repositories when you can see the business need for it, and benefits. I agree with @KatePaulk with pros and cons, but when no obvious benefits, I would go with simpler solution: single repository.


2

You are doing something very weird. JMeter threads are totally independent and each thread has its own context, variables, cookies, etc. So If you have 1 thread - it will execute 8 requests in sequential order (upside down) If you have 2 threads - each of 2 threads will execute 8 requests in sequential order etc. So I would recommend removing your ...


2

Pros: you can start writing cross-browser code in your favorite programming language in a matter of hours Cons: Selenium tests are unstable. WebDriver libraries version trail the auto-updating browser and there’s always something small that doesn’t quite work. Often when you get the new version of the Selenium libraries that is supposed to fix the issue, ...


2

Are there any courses/books online to learn automation framework design in Java? In my case, I started learning with online videos about Java (focus in selenium). In my case, it was more helpful (and to be honest more convenient to learn via online video tool) I started with the link from Angie Jones Courses. There you will find good online videos. Also ...


2

I think the first sentence on Wikipedia says it clearly enough: In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software. [ https://en.wikipedia.org/wiki/Software_framework ] To say it in ...


2

In the first case, you are coupling your tests with the page object through a convention on the strings "email_field" and "password_field" If a change is not done correctly, you would discover it only at run time. Not so good. In the second case, you are coupling through the attributes. Erroneous changes would be catch at compilation time,...


2

Since you are just getting started with your test automation journey, imagine you are given an application and some test scenarios to automate. You use your knowledge of Selenium and TestNG and you start creating few Classes and Methods to perform operations on the UI controls as per your test cases. Using TestNG you manage to execute those tests and you ...


2

As a shorter way, Its a base structer or the foundation to write automation test scripts for different componets (web, mobile ... etc). A good framework will provide solutions for some of below limitations or the issues. Handling scripts and data separately. Creation of libraries. Extensibility issues. Maintenance issues. Reporting issues.


2

Reflection API, has all utilities like ExcelReader Utility class, DB connector classes, Reporting utility, logging classes etc For starters, based on what you described, this is not a framework. This is a library with multiple responsibilities. The easiest way to know the difference is: Your code calls libraries. Frameworks call your code. As examples of ...


2

some people argue that I made a very easy framework as I am afraid of complex Java programming and lack coding skills Who are these "some people"? Why would they say that? Why does their opinion matter? I'm assuming you are a tester. Now, you identified a few things (repeated steps you follow), which you thought if a machine did for you, it would ...


1

Ask yourself,can your simple framework deliver complex features? (assuming those features are actually required for your app testing?) If the answer is yes, do I need to say anything else...  “It's really complicated to make something simple, but very simple to make something complicated..” If the answer is no, then there will be reason(s) why those ...


1

You are getting this error, because you are trying to use 'sendKeys' method on an element whose type is not 'input'. Use : var fileElem=element(by.css('input[id="cropper-file-input"]'));


1

You've correctly spotted the problematic use of dynamic ids, that makes it hard(er) to write and maintain tests with Selenium. I'm not entirely sure, but it should be possible for the developers to add (unique) names to each widget, making stuff easier to find. Regarding your question, 'what are the tools', I suggest you take a look at Sencha's own testing ...


1

Normally what you call a Test Runner is a part of testing framework that is responsible to define which code of yours can be considered a test code and that is responsible to execute the test code. Test runner does not make sense with no respect to test framework as well as vise versa.


1

From the comment to answers, @Crustyeyelids, there is a big misunderstanding. There is a big difference between: "Selenium IDE" (small part of the Selenium project) and Selenium project with all the components: Grid, Webdriver, Selenium Server (and IDE). Selenium IDE is almost useless, for real production tests. Selenium (project) is W3C standard for ...


1

From the 4 quadrants of Agile testing this could be considered to be Functional Testing (Quadrant 2, top left)


1

Marathon is an OSS Test Automation Tool which has main features to record, playback the events performed on AUT.It allows to debug the test scripts recorded. The test scripts are created in Ruby (Older version supports Python also). It also has features like Object Mapping , Allure Report Generation,Test Organisation(Features and Stories), Reusable Modules ...


1

Swing Testing Toolkit (uses a semi-automatic test case generation approach aimed at reducing testing instructions to the bare minimum while ensuring that they are as relevant as possible). It is not a universal GUI testing framework. It focuses on a single library (Swing) to guarantee its level of quality.


Only top voted, non community-wiki answers of a minimum length are eligible