Web Automated Regression Framework - testing

I am looking at some options for using a web automated framework. I have so far looked at Selenium and Web Test (part of Visual Studio), Web Test does not test any client side code, so that kind of rules that one out. Selenium has most the features needed although I need to generate the .NET code for the tests, so that I can run the tests under TFS build server.
Is selenium the best automated testing web framework, or is there anything else worth looking at that could integrate with .NET and the TFS build. Ideally I want minimal code changes if any.
Appreciate your thoughts
Cheers

I've been constantly frustrated with Web Test in Visual Studio, though I'm not sure I understand what you mean when you say it can't test client side code.
For developer community support, ease of use, and cross platform access, I'd say Selenium is the hands down winner for programmatic browser automation. Selenium 2 works on every major OS/browser and even mobile.
I've tried WaitN and found some bugs in recent version of IE. There was a recent 2.0 release that has probably worked things out, but there are so many more people using Selenium it's worth relying on that community.

Selenium can generate C#. You can use the Selenium libraries in a C# class to create a web UI test library. Selenium is probably the most common tool.
Another option is WatiN, which is a descendant of Watir for .NET. It's another web UI automation library
This StackOverflow thread discusses using the two to test ASP .NET webforms, and might give you a good set of concepts to start from. My experience with the two is that they were both nice. I would go with Selenium if working with non-programming testers due to its great record-and-playback tools (for Firefox), and WatiN if working with SDETs / developers due to its richer libraries. When in doubt, Selenium is more common and more frequently used.

I've been using Selenium 2.0 (the C# bindings in particular) / NUnit / Hudson. Works well, and Selenium 2.0 is constantly improving and working out the remaining bugs

Related

QA Testing automation tools to learn: Selenium, Protractor, Cypress

I have some programming experience and want to switch to QA roles that suit my skills better, I have more knowledge of Java but some Python.
I am wondering if I should focus on Selenium that I have some knowledge of or Protractor or Cypress that are considered as the latest standards?
I am more of a front end guy as a developer.
Also, I generally use guru99, tutorialspoint or w3schools to get started. Any other great resources for free or less expensive for quick learning for these topics?
Will cloud upgrades affect this learning process?
Please advice.
Selenium is still the most wide used web UI automation tool, having a lot of tutorials for any level of experience etc. Also, once you know one tool, you will be able to learn other similar tools in the future easily. Also, Selenium supports and mainly used in programming languages you already know while the other tools you mentioned using JavaScript. So, I'd advice you to start (and then continue) with Selenium.
I think Protractor is being dropped by Angular in favor of Cypress.
Please see
The State of end-to-end testing with Angular
...we’ve decided to deprecate Protractor
and #cypress/schematic.
Component testing
Also consider that Cypress has first-class component testing (as well as e2e testing) which has better speed than e2e but better coverage than unit testing.
See Quickstart Angular
and Cypress Component Testing vs Angular Test Harness

Is there any framework to automate UI of a website other than Galen framework

I am currently working on TestNG framework in which Galen framework is embedded. The Galen Testcases deals the UI part of our website.
I have researched a lot and there is no other automation tools same or better than that of Galen Framework for UI testing specifically.
I am well aware that it can be done with coding Java or even writing testcases script manually in Java itself. But, is there any other advanced UI automation too available in market?
I want this because the report of Galen is such a big size that mailing this report or moving this report is not a good practice(Which makes my CI/CD pipeline slow).

Integration testing, how exactly

I have a hard time figuring out how you actually do integration tests
Is it still automated test with JUnit, NUnit or whatever, or is it just using the program (it has a gui) an making sure that everything works?
You can refer what-kinds-of-tests-are-there and whats-the-difference-between-unit-functional-acceptance-and-integration-test
GUI testing can be listed in system testing, acceptance testing.
GUI test tool mostly depends on type of UI (Web/Desktop/Mobile). e.g. for web testing you can evaluate good open source tools like selenium.

Automated testing for Flash/Flex application

I have to do Automated testing of Application based on Flash builder, after searching on this topic i came to know that flash builder includes Testing API's, and these API's supports HP QTP so After Including Testing API's in my application and making test cases Scripts based on VB scripts I can do automated testing, how should i do automated testing of application based on Flash builder.
You should take a look at Flex Mojos, which is a Maven Plugin. You can use it for automated builds and tests as well.

Organization and Structure of Web Application Testing Framework

So I'm looking to bring web application testing into our .Net environment with a framework such as Selenium. At first, it'll probably be the developers writing the tests, but later it may be just the QA team. I'm wondering where the tests should actually live. Should they live in the same solution that the web application lives or should they live in a completely separate solution that is just for the tests? Please, note these are regression tests that will be done via automating a web browser so access to the web app's assemblies is not required. The answer probably is based on the environment and other factors, but I'm curious about what other people have done in this situation.
Regression Testing covers both Unit and Functional Tests. Functional tests exercise the complete program with various inputs. Unit tests exercise individual functions, subroutines, or object methods.
Unit Tests are part of the solution's code and should live with the Primary Code as with Microsoft MVC. Since Functional Tests examine the whole system and not just components, they can live anywhere. However, since your Functional Test are automated scripts, they should be included inside the solution.
The advantage to having both Functional and Unit tests live with the code is the issue of project management. Having all project related files in one repository links code version with test version. Testing scripts need to be stored in a repository (version control system) just like any other project code, so it is good to keep them with the solution.
That way the test team can do white box testing (testing with access to code) by checking-out the solution just like a developer. Their work can be saved, shared, and documented inside Visual Studio. Microsoft even includes some web based management tools with Team Foundation Server that can be used for managing the testing with open communication between test team and developers.