To start with, according to the MSDN documentation I found with a quick search, each tool is optimized for a specific kind of test automation.
tcm.exe - Team Foundation Server/MTM test cases associated with automation - this runs the test cases, rather than directly running the tests and automatically updates the test case status (I think - I'm not that ...
To start let me be completely transparent and state that I do work at Microsoft. However, in my role I nor my team uses Coded UI, but I do teach the basics of coded UI in some of my classes.
Rather than comparing the features of each tool set I would recommend including other factors in your decision such as:
As a general rule of thumb we try to minimize ...
According to Visual Studio: Load testing in the cloud, here are the steps to switch the test from using Visual Studio Online to running locally:
Simply open your existing project using Visual Studio 2013 first.
Within the Solution Explorer, expand the 'Solution Items' folder, then open Local.testsettings.
Edit the test settings file to configure your ...
you could use a plugin, although there is a simpler way. You can create a CSV file with the list of usernames and passwords you want to iterate through and then create a datasource. When you execute the web test, it will iterate through all of the items in the CSV file, one line for each test execution.
Based on what you outlined above I would probably ...
I would recommend JMeter as:
JMeter: free and open source
MSVS: Test Professional costs around $2000 per developer.
MSVS: Windows only
JMeter: HTTP, FTP, JDBC, SOAP, TCP, JMS, SMTP, POP3, IMSP
However if your company has Microsoft products based development infrastructure, like Team ...
You can use the combination of any unit testing framework (like NUnit, MSTest, XUnit) with additional nuget packages for the work with REST API itself
RestSharp (http://restsharp.org/) Probably the most popular and convenient REST HTTP Client for .Net.
RestAssured.Net (https://github.com/lamchakchan/RestAssured.Net) .Net port of Java's lib, may be easier ...
I have used Coded UI Tests, but used Selenium Webdriver much more extensively. In my answer I will completely ignore the record and playback capabilities of both because I would not advocate using either except to familiarize yourself with the tool. In addition, I won't comment on features that one has vs the other because they are very nearly identical. ...
The easiest way is to create your own ExpectedConditions class with methods accepting a WebElement as parameter, for example:
With the implementation in the MyConditions class, which works exactly like the existing ExpectedConditions methods.
public static Func<IWebDriver, bool> ElementIsVisible(...
You can craft them however to execute xmlhttp ...
If it is an Angular application I would go for Protractor
Protractor was made for Angular Apps. You don't have deal with elements not being visible yet due to page loads. Protractors deals with it for you
As far as I know CodedUI des not provide this functionality. Correct me if I'm wrong.
I would recommend looking into Visual Studio load test tool. You will need an Ultimate license. This tool will make it much easier to do all the things necessary to create a useful performance test while minimizing time to script and hardware needed to drive the test.
You can read more here...
Disclaimer: the answer is assuming you're using the MsTest unit test framework.
The easiest way to run parallel tests is simply to activate this flag here:
An important note here: this only works for tests in different assemblies (projects). So tests in the same test project will still run sequentially. Of course, with large test suites for ...
If you are a programmer you need Microsoft Visual Studio Enterprise which is $5,999/user/first year and includes Team Foundation Server online access & Microsoft Test Manager stand alone app.
Anyone doing just QA and no programming can use Visual Studio Test Professional which will cost your company less $2,169/user/first year and only includes Team ...
Writing an API test in Visual Studio can be done with:
NUnit or MSTest as your Test Runner
** NUnit and the TestAdapter are available on Nuget
An http client, like .Net's HttpClient
** This is in the System.Net namespace
(Optional) Json.Net for parsing responses
** Also avaiable on Nuget
Your test will look something like this:
public void ...
Like any other form of automated test, it depends on how you're invoking them and the environment you need to run. If you need a UI user session (which is the common setup) then you're probably not going to be packaging them with the unit tests.
Some of the factors to consider are:
CodedUI tests are slower than unit tests because they interact with the ...
If you have to support multiple versions for your software product I would keep the tests with in the same repository. Then the tests will version with the application itself. Which will make you able to run the tests for older versions with ease.
Also you will want your developers to run and maintain the tests. For example when they need to change the ID ...
Well Coded UI Tests are hardly "new", though they were new to me as a framework when I was starting to use them early on. I put them in the category of "record and playback" but with extensibility they do add more on once you are able to get some abstraction in your tests and be able to modify the scripts to become more like a proper coded and programmed ...
web test Plugins was my solution I can write some code to iterate or go through a data set quite easily. Example:
public class DynamicUsername : WebTestPlugin
static int ...
TFS=Team Foundation Server. All things microsoft that require storage and integration get run through this. VS=Visual Studio. All things that are "visualized" are pushed through this. MTM=Microsoft Test manager. This manages all tests.
So with this then TFS stores everything and synchronizes it. VS is a method to visualize things in order to interact ...
You can have more than one ".testsettings" file. On a recent project we used three
Local.testsettings - for test development and low load tests driven entirely from one computer.
Agent.testsettings - for testing with a controller plus two agents, for bigger loads.
Cloud.testsettings - for running tests on Visual Studio Online.
To switch between the three ...
In order to find the specific h2 tag you are trying to locate you can find them in below ways:
Through name as an element locator.
Using relative xpath syntax is : //tagname[@attribute="value"]
Using absolute xpath you can define the child tag starting from the parent tag if snippet is not as big as given above.
You can even install firepath addon from ...
A lot. The last I heard, MTM will be deprecated once the test-specific functionality of the TFS web portal is available.
Create backlog items (in TFS) - the UI is a lot better, and there's been a lot of improvement to backlog item management and iteration management.
Create tasks (in TFS) - see above.
Design test cases (in TFS, VS, or MTM) - the TFS UI is ...
You can use XPath, linkText or className to locate your Link object.
driver.findElement(By.xpath("//li[@title='This is test']"));
Code to Perform Click:
WebElement ele_Link= driver.findElement(By.linkText("TestLink"));
First up, your boss is going to want to see this information in a convenient form. TFS allows this without much extra work on your part.
You can use TFS (if it's a recent enough version) to set up scheduled runs for your test automation. Reports of your runs then become an automatic thing - and you can arrange for them to be emailed to whoever needs ...
There's a couple of ways that you could do this. The easiest would be to create a variable that the value goes into when you first get it.
Because there's bound to be (and have been) cases where they need to be separated out a bit more, I typically write the value into an xml file that is used as a data source in the tests that will use this value.
The simple answer is yes. You can right click on the test case in the web test editor and select "Add call to web test" and it will call that web test. Any context parameters that are required by your "Login" test can be set in the other test or in the load test and will be used by Login when executed.
I also suggest reading these great MSDN docs:
Binding a Data Source to a Web Performance Test
How to: Set Credentials on a Web Performance Test
You can set the credentials for any Web site that uses basic
authentication or Integrated Windows authentication. Web sites that
contain personal information often require user authentication before
Use profile setting for browsers:
FirefoxProfile profile = new FirefoxProfile();
IWebDriver webDriver = new FirefoxDriver(profile);