Source Control for Selenium Tests written in Java - intellij-idea

In my company, I have plans to introduce Web Automation using Selenium WebDriver and Cucumber JVM using Maven builds.
Since the developers write their code in C#, they are all using TFS for source code repository and recommending the QA team also to use TFS to maintain my tests written in JAVA.
These are the questions I have got in my mind:
QA team will use IntelliJ IDE for writing Selenium tests in JAVA. Is IntelliJ compatible with TFS? Or is it a pain to configure it to work with TFS?
As we will move towards TDD very soon, we have to setup CI server as well.
Is it possible for me to run Selenium Tests triggered from TFS or do I need to use a separate CI server like Jenkins or Teamcity?
Does maven build work smoothly with TFS?
We have to adhere to stringent ISO guidelines for maintaining the source code. If I were to recommend source code repositories like github, can I ensure that the code is still secure? Is it difficult to setup the security in github?

Answering your questions regarding TFS:
IntelliJ IDEA supports TFS up to TFS 2015. Check:
Visual Studio Team Foundation Plugin for IntelliJ and Android Studio
Using TFS Integration
TFS supports CI build. After you've deployed a Windows build agent or an Xplat build agent, you are ready to define a CI build that compiles your Java app with Maven whenever your team checks in code.
Yes. Check:
Build your Java app with Maven

Related

How to integrate LeanFT Selenium with HP QC

Now I am using Selenium (Java + Maven + Jenkins + TestNG + GitHub) with Microsoft Test Manager (Test Management Tool) for UI Automation. Microsoft Test Manager provides the APIs to integrate/map the manual tests from test manager to automated tests from Selenium.
Now we are planning to use LeanFT with Selenium (with LeanFt we can use Selenium, .Net- Visual Studio or UFT) for UI automation and HP QC (Test Management Tool).
Here I want to know:
How to integrate LeanFT Selenium with HP QC or How to map manual tests from HP QC to automated tests in LeanFT Selenium? (If you are using QTP/UFT you can open the manual test in QC and click on QTP/UFT icon to create related automated test).
Which tool can be used for SCM or Version Control, git and GitHub or LeanFT provides in built support for java code also? (In case if you are using QTP, no need to use external SCM).
From where to run the tests, from Jenkins or QC (In QTP + QC integration, you can run tests directly from QC also)?
Let me try to answer your questions:
Which version of HPE ALM(QC) you use? Is it already the new gig called ALM Octane? In case you have an older version you need to think about VAPI-XP Tests. This is the generic test type for everything that HPE QC doesn't support out-of-the-box. Newer versions of HPE ALM however support LeanFT as a Test Type. Here is the offical doc on test types for the latest version and here a little tutorial.
Unlike UFT, LeanFT is just the Test Automation Framework, it does not come bundled with an IDE (Which I personally consider good) - so depending on the IDE you use to develop code (eclipse, intellij, visual studio) - you can and should use any plugin that supports it. Definitely git is an easy and good pick.
Jenkins has plugins to trigger UFT Tests from QC or the FileSystem and then pick-up results automatically. In the case of LeanFT as mentioned it neither comes bundled with an IDE or Test Execution Engine so you can use JUnit, TestNG or any other execution engine to achieve this. For doing full Continuous Integration; QC is not that good (HPE seemed to abandon development there) so it is definitely Jenkins. The new Gig(Octane) did not even try to build an own CI System but just wrapped Object models of existing ones into it's own pipeline representations. For integrating with QC, you may have to write some scripting / utilities to upload stuff to QC using the OTA API - which is the client side Automation Framework of HPE QC
Below are the tutorials for OTA API if you need them
https://sumeetkushwah.com/2015/03/19/connecting-almqc-using-hps-otaopen-test-architecture-api/
And here is a github project with alot of examples and wrapper functions
https://github.com/sumeet-kushwah/ALM_OTA_Wrapper
Best place to run tests is from jenkins as suggested by Bela. Below is the article detailing that process
https://sumeetkushwah.com/2015/03/24/implementing-ci-using-jenkins-and-uft/

Run Automation UI Testing through Selenium and Coded UI Without Build from TFS

Our web application codes are stored on SVN instead with TFS. We are trying to set up our automated UI testing.
These are following tools our team are considered to use.
- Microsoft Test Manager (Create Test cases associate with User stories)
- Coded UI (Connect to TFS and Microsoft Test Manager)
- Selenium (Automated UI coded)
- Team Foundation Server 2015 (Test cases and User stories)
Web Application with URL
We only want to configure automated UI testing for our website. Is there any way to run the set up the automated testing without build through TFS?
Thank you and any feedback is appreciated.
So here is the thing,
Coded Ui is not a connector to TFS & MTM it by itself an automation
framework/tool like selenium
You don't need both Selenium & Coded UI for your automation. You only need either of it
If all you want is to get started with automation for your application, you can do it just with a version of visual studio which has Coded Ui. (The latest supporting version is Visual Studio 2015 Enterprise edition)
See this like to know How to create Coded Ui Tests , see this link to know how to Run a Coded Ui Test
It's based on your workflow. Whether your app/code is on-premises or in the cloud, you can automate build-deploy-test workflows and choose the technologies and frameworks, then test your changes continuously in a fast, scalable, and efficient manner. And just as Prageeth said, Coded Ui is an automation framework/tool just like selenium.
In TFS either code ui or selenium test more like continuous testing. The workflow is such as bleow:
First make sure that your app still works after every check-in and
build using TFS. Find problems earlier by running tests
automatically with each build. When your build is done, review your
test results to start resolving the problems that you find.
Add some related tutorials for your reference:
How to run Code UI in TFS: Executing Automated tests in Build vNext
using Test Plan, Test Suites
How to run Selenium in TFS: Get started with Selenium testing in a
continuous integration pipeline
If you insist on without building from TFS, you could also use the Code UI function with VS on local.
You can setup Test controller and Test Agent VMs in MTM test lab. This will allow you to execute your automated tests on Test Agent directly in MTM. Otherwise, you can execute Coded UI tests locally in Visual Studio.

build and testing with TFS 2013 and Selenium

I'm looking help for Microsoft Team foundation server 2013 , in fact i want to integrate selenium script with auto build. when build is deployed my selenium script run automatically on new build,
I'm new to Team foundation server so i don't have much idea about integration selenium script , please explain in detail so that i can follow exact steps.
My script is placed at Team foundation server repository , do i need to compile my selenium script with auto-build or no need to compile
You just need to build the selenium project and then run the test with it.

Mule and Gradle build tool

Questions:
1) Can I use Mule(3.7) application with Gradle, is it fully supported?
2) Continuous Integration runs with Gradle and Jenkins for other non Mule based applications in our organization, can I have local Maven build with Anypoint studio and CI with Gradle? Is there any issues with this kind of configuration, since Mule is well built with Maven build tool?
I have gone through the Gradle plugin for Mule here
Yes, you can use it but it is not a MuleSoft officially supported tool. Here is the link to the GitHub project. The problem with using two different build tools is that the configuration will probably get out of sync at some point. Anypoint Studio doesn't provide a very complete Maven support anyway, so you could just use Gradle and update Studio dependencies manually or try using an Eclipse Gradle plugin. This can still be out of sync, but will have to maintain only Gradle config.

Instrumentation testing in Android Studio

I'm new to testing and currently trying to write some tests in Android Studio. I have a sample application module and now trying to figure out, whether the instrumentation test needs to be a module of its own or whether the tests should go inside the src folder... I have read contradicting information on the web. If anyone had a sample, that would be great!
With eclipse ADT plugin and older version of the SDK it was a requirement to put the integration tests in a separate module.
With the gradle build system and android-studio you should be able to put your integration tests in src/test/java and running them from the IDE or gradle command line without pain.
That's why you find contradicting information on the web.
Here is the reference
This post contains a very good explanantion on how to do the integration testing in Android Studio:
How can I create tests in Android Studio?