I entered an item on the VS forums. Edwer Fang was able to reproduce this issue and suggested that I enter a bug here...description below:
I have noticed a specific problem with VS 2010 Web Test playback. Tests that have a Query string Parameter TARGET without a space in the name (ex: Target = Web_Site1) will pass. Tests that have a TARGET with a space in the name (ex: Target = Web Site1) will fail. The tests have been converted from VS 2008, and the same tests pass in VS 2008. In VS 2010 they always fail if the TARGET contains a space. To test this theory I created two duplicate sites (TARGETS), one with and one without a space. I ran the same web test against both sites, using different logins to cause the re-directs to either TARGET site. The one with the space fails, the one without passes.
Any known bugs and / or workarounds for this issue? For now, I am going to attempt to re-record the same test to see if the value is handled properly when recorded in VS 2010 instead of using a test that was converted from VS 2008. Unfortunately, I don't have time to record and debug my entire suite of web tests to handle the space issue and re-naming the TARGET sites to eliminate spaces is not an option.
--------------------------------------------------------------------------------------------------------------------
It seems like the authentication process immediately rejects the request if there is a space in the actual target name...Possibly because it is looking for the space, instead it gets a +, and responds with a 401 - BAD REQUEST. The failed requests in VS 2010 appear identical to the same passed request in VS 2008, TARGET=Web+Site1.
Re-recording the test with VS 2010 produces the same error.
I recorded this same login action with Fiddler and I see that the initilal login request is contains TARGET=Web Site1. A subsequent redirect then contains a + and shows TARGET=Web+Site1. VS 2010 never gets to this redirect, which leads me to believe that perhaps the + sign is being forced into the initial request by VS 2010, causing the error. Does VS 2010 do anything different than VS 2008 in this regard, becuse nothing is different between the two enviornments except the failure with sites containing a space? There also doesn't seem to be any way for me to manipulate this request within the web test, and try to force the space. It's like VS 2010 is doing this automatically, where VS 2008 did not?????
The contents of this blog were gathered from the blogger real life experiences and from the different forums related to automated test.
Thursday, October 14, 2010
Friday, August 20, 2010
Unable to pass date value dd/mm/yyyy through csv file data binding in the webtest.
Hi,
I am using CSV file for data binding in my Webtest.
I have to pass the date value in this format dd/mm/yyyy, through csv file.
I am using excelsheet and then i am saving this file into .CSV format.
When i am adding this file as a data source,all the data rows displayed correctly.
But the date values displayed in the format m/dd/yyyy,which is not acceptable by the application.
How i can change CSV file date format from m/dd/yyyy to dd/mm/yyyy?
---------------------------------------------------------------------
If I may offer a suggestion to determine where the problem lies...
Instead of using a CSV file for the Date of Birth, create a Context Parameter called DOB and give it a value of 15/05/1987. Use the context parameter in place of the data bound parameter to see if it is translating it the same way (with Date & Time) or as you expect it to (dd/mm/yyyy).
If it work this way, you may need to force a format of the data from the CSV file. I would suggest that you look at the UKVSTS Web Test Plugin (http://www.codeplex.com/UKVSTS/Wiki/View.aspx?title=UKVSTS%20Web%20Test%20Plug%20In&referringTitle=Home). This might help.
Good luck.
----------------------------------------------------------------
Hi,
Thanks for your reply.
I have tried following options:
1. ctl00$ContentPlaceHolder1$ClientDetailControl$TextBoxDateOfBirth= <%= DateTime.Now.ToString ("15/05/1987") %> ,I have used same thing which has given in the UKVSTS.script is passing.
But when i tried to pass date values through .csv in this script variable again i was getting date and time.I have used dd/mm/yyyy format in the .csv.
2.ctl00$ContentPlaceHolder1$ClientDetailControl$TextBoxDateOfBirth=
<%= DateTime.Now.ToString ("{{DataSource1.DateValue#csv.DOB2}}") %>
getting same error.
I have used script parameter not context parameter...can you explain how i can create context parameter?
================================================================
I believe that you have misinterpreted the examples provided for the plugin by using the DateTime.Now.ToString function. I believe that what you should be doing is this:
<%= String.Format("{0:dd/MM/yyyy}", DateTime.Parse({{DataSource1.DateValue#csv.DOB2}}))) %>
(Note: I may be missing a paren or curly brace somewhere)
Good luck.
======================================================
Thanks Lewis,
It is working fine.
Thanks,
Bhawana
I am using CSV file for data binding in my Webtest.
I have to pass the date value in this format dd/mm/yyyy, through csv file.
I am using excelsheet and then i am saving this file into .CSV format.
When i am adding this file as a data source,all the data rows displayed correctly.
But the date values displayed in the format m/dd/yyyy,which is not acceptable by the application.
How i can change CSV file date format from m/dd/yyyy to dd/mm/yyyy?
---------------------------------------------------------------------
If I may offer a suggestion to determine where the problem lies...
Instead of using a CSV file for the Date of Birth, create a Context Parameter called DOB and give it a value of 15/05/1987. Use the context parameter in place of the data bound parameter to see if it is translating it the same way (with Date & Time) or as you expect it to (dd/mm/yyyy).
If it work this way, you may need to force a format of the data from the CSV file. I would suggest that you look at the UKVSTS Web Test Plugin (http://www.codeplex.com/UKVSTS/Wiki/View.aspx?title=UKVSTS%20Web%20Test%20Plug%20In&referringTitle=Home). This might help.
Good luck.
----------------------------------------------------------------
Hi,
Thanks for your reply.
I have tried following options:
1. ctl00$ContentPlaceHolder1$ClientDetailControl$TextBoxDateOfBirth= <%= DateTime.Now.ToString ("15/05/1987") %> ,I have used same thing which has given in the UKVSTS.script is passing.
But when i tried to pass date values through .csv in this script variable again i was getting date and time.I have used dd/mm/yyyy format in the .csv.
2.ctl00$ContentPlaceHolder1$ClientDetailControl$TextBoxDateOfBirth=
<%= DateTime.Now.ToString ("{{DataSource1.DateValue#csv.DOB2}}") %>
getting same error.
I have used script parameter not context parameter...can you explain how i can create context parameter?
================================================================
I believe that you have misinterpreted the examples provided for the plugin by using the DateTime.Now.ToString function. I believe that what you should be doing is this:
<%= String.Format("{0:dd/MM/yyyy}", DateTime.Parse({{DataSource1.DateValue#csv.DOB2}}))) %>
(Note: I may be missing a paren or curly brace somewhere)
Good luck.
======================================================
Thanks Lewis,
It is working fine.
Thanks,
Bhawana
Wednesday, July 15, 2009
Connect to test run - Cross Domain
Hello,
Trying to figure out a way to share test run results. Our test rig (controller and agents) are all in one domain and all of our development work is done in another domain. Currently, I have installed a Visual Studio instance on the machine that host the controller. This is where I have been managing the test runs from but need to be able to share the results with other developers. Other users all have access to Visual Studio but are all installed on a separate domain. When using Visual Studio in a different domain and trying to connect to the controller I get the error "Connecting to the controller on machine '.....' failed. The server has rejected the client credentials."
Is there any way to allow anonymous connection to the controller to view the test results?
The other thing I have tried is exporting a TRX file but after clicking on the test run the status becomes "Reading test results from database..." followed by the error "Could not read result repository: Could not access the load test results repository......". I can connect to the database through Microsoft SQL Server Management Studio using an SQL logon. I can't see anywhere in the TRX file that defines the connection?
Thank!
===================================================================================
Hi discofunk25
Let's say your controller locates in domain A. Your developers use Visual Studio from domain B. If domain A trusts domain B and your developers use accounts from domain B to log in their computers, you can add their account to TeamTestControllerUsers group created when installing test controller. Then those users should be able to connect to the controller via VS.
===================================================================================
Thanks for your response Bill. Unfortunately domain A doesn't trust domain B and we don't have the power to change that. The sites the physical domains are on are geographically separate with lots of firewalls and red tape. The way I setup the agents originally was using the "workgroup" method (same username/password). I'm wondering if the developers run an instance of VS with the same username/password would do the trick?
==================================================================================
The trick of using the same username/password is to work around the NTLM authentication. In a domain environemnt, Windows usually tries kerberos authentication first. When it fails, Windows will try NTML authentication.
The drawback of creating multiple copy of the same username/password on different computers is obvious. It's difficult to maintain, especially you have a great many of accounts and computers.
Have you tried the Export load test feature? See How to: Export Results from a Repository. I think you can export load test in a computer from DomainA. Copy the exported file to a computer in DomainB. Then import the result to a load test database in domainB. In this way, DomainB users should be able to view result. Below are steps you can try:
In a computer in DomainA, export load test result per How to: Export Results from a Repository.
Install SQL Server 2005/2008 on a computer in DomainB. You can also use an existing SQL instance.
In a computer in DomainB where VSTT is installed, locate the script file loadtestresultsrepository.sql in %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE. This file is used to create load test database that store load test results.
Execute loadtestresultsrepository.sql on a SQL instance picked in step 2. It will create a database named "LoadTest".
For computers in DomainB, connect to the local load test host and select it to use repository you created in step 4. See How to: Select a Load Test Results Repository.
Import the load test result you exported in step 1. See How to: Import Results into a Repository.
====================================================================================
Trying to figure out a way to share test run results. Our test rig (controller and agents) are all in one domain and all of our development work is done in another domain. Currently, I have installed a Visual Studio instance on the machine that host the controller. This is where I have been managing the test runs from but need to be able to share the results with other developers. Other users all have access to Visual Studio but are all installed on a separate domain. When using Visual Studio in a different domain and trying to connect to the controller I get the error "Connecting to the controller on machine '.....' failed. The server has rejected the client credentials."
Is there any way to allow anonymous connection to the controller to view the test results?
The other thing I have tried is exporting a TRX file but after clicking on the test run the status becomes "Reading test results from database..." followed by the error "Could not read result repository: Could not access the load test results repository......". I can connect to the database through Microsoft SQL Server Management Studio using an SQL logon. I can't see anywhere in the TRX file that defines the connection?
Thank!
===================================================================================
Hi discofunk25
Let's say your controller locates in domain A. Your developers use Visual Studio from domain B. If domain A trusts domain B and your developers use accounts from domain B to log in their computers, you can add their account to TeamTestControllerUsers group created when installing test controller. Then those users should be able to connect to the controller via VS.
===================================================================================
Thanks for your response Bill. Unfortunately domain A doesn't trust domain B and we don't have the power to change that. The sites the physical domains are on are geographically separate with lots of firewalls and red tape. The way I setup the agents originally was using the "workgroup" method (same username/password). I'm wondering if the developers run an instance of VS with the same username/password would do the trick?
==================================================================================
The trick of using the same username/password is to work around the NTLM authentication. In a domain environemnt, Windows usually tries kerberos authentication first. When it fails, Windows will try NTML authentication.
The drawback of creating multiple copy of the same username/password on different computers is obvious. It's difficult to maintain, especially you have a great many of accounts and computers.
Have you tried the Export load test feature? See How to: Export Results from a Repository. I think you can export load test in a computer from DomainA. Copy the exported file to a computer in DomainB. Then import the result to a load test database in domainB. In this way, DomainB users should be able to view result. Below are steps you can try:
In a computer in DomainA, export load test result per How to: Export Results from a Repository.
Install SQL Server 2005/2008 on a computer in DomainB. You can also use an existing SQL instance.
In a computer in DomainB where VSTT is installed, locate the script file loadtestresultsrepository.sql in %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE. This file is used to create load test database that store load test results.
Execute loadtestresultsrepository.sql on a SQL instance picked in step 2. It will create a database named "LoadTest".
For computers in DomainB, connect to the local load test host and select it to use repository you created in step 4. See How to: Select a Load Test Results Repository.
Import the load test result you exported in step 1. See How to: Import Results into a Repository.
====================================================================================
Friday, May 15, 2009
How could I show performance issues on other servers compared to load test results
I have some Unix machines that we need to monitor performance on while we run our load tests. Is there a good methodology on how this should be done?
Thanks- Claucher
=======================================================
Hi CLaucher
There's no support to collect Unix/Linux performace information in the Visual Studio load test. I wish I had a more helpful reply.
-Bill.Wang(MSFT)
=======================================================
Hi CLaucher,
I am guesing your database residing on those unix/linux servers. In this case, you can run some unix commands(performance related) on those unix machines to monitor the performance. You can tell DBA who administer those severs to send you the performance matrix(by unix command) during the period of ur load test.
I hope it helps.
Thanks -- Jaeed
=========================================================
Thanks- Claucher
=======================================================
Hi CLaucher
There's no support to collect Unix/Linux performace information in the Visual Studio load test. I wish I had a more helpful reply.
-Bill.Wang(MSFT)
=======================================================
Hi CLaucher,
I am guesing your database residing on those unix/linux servers. In this case, you can run some unix commands(performance related) on those unix machines to monitor the performance. You can tell DBA who administer those severs to send you the performance matrix(by unix command) during the period of ur load test.
I hope it helps.
Thanks -- Jaeed
=========================================================
Thursday, May 14, 2009
VSTestHost.exe uses only one CPU
I recently noticed that while running a load test, VStestHost.exe uses only one CPU. Trying to change the affinity through task manager has no effect and it continues to run on CPU0. Is that expected behavior or there's something wrong in the way I am executing the load.
==============================================================================
Hi Pawan,
This is by design in Visual Studio 2008. To drive additoinal load, and utilize all CPUs, you need the Test Load Agent / Controller to create your test rig.
Robert
==============================================================================
Thanks George,
so what it indirectly means is that I'll have to procure additional licenses for Load Agent and Controller.
Just wondering if both of em are shipped as part of the MSDN subscription?
Pawan
==============================================================================
Hi Pawan,
Each Load Agent license covers a controller, so the controller is part of the Load Agent purchase. For MSDN, they have a trial version, but be warned its double time bombed - I think its 60-days or 25 test runs, whichever comes first.
Robert
==============================================================================
Hi Pawan,
This is by design in Visual Studio 2008. To drive additoinal load, and utilize all CPUs, you need the Test Load Agent / Controller to create your test rig.
Robert
==============================================================================
Thanks George,
so what it indirectly means is that I'll have to procure additional licenses for Load Agent and Controller.
Just wondering if both of em are shipped as part of the MSDN subscription?
Pawan
==============================================================================
Hi Pawan,
Each Load Agent license covers a controller, so the controller is part of the Load Agent purchase. For MSDN, they have a trial version, but be warned its double time bombed - I think its 60-days or 25 test runs, whichever comes first.
Robert
Monday, March 30, 2009
Monitoring and Analyzing a Load Test Result
Please visit the following link:
http://msdn.microsoft.com/en-us/library/aa730850(vs.80).aspx
http://msdn.microsoft.com/en-us/library/aa730850(vs.80).aspx
Web and Load Test FAQs
Please visit the following link:
http://social.msdn.microsoft.com/Forums/en-US/vstswebtest/thread/bd3b1caf-ca7b-408e-b415-3b8e3465bb03
http://social.msdn.microsoft.com/Forums/en-US/vstswebtest/thread/bd3b1caf-ca7b-408e-b415-3b8e3465bb03
Web Test Authoring and Debugging Techniques for VS 2008
Please visit the following link:
http://blogs.msdn.com/edglas/archive/2007/12/02/web-test-authoring-and-debugging-techniques-for-vs-2008.aspx
http://blogs.msdn.com/edglas/archive/2007/12/02/web-test-authoring-and-debugging-techniques-for-vs-2008.aspx
Web Test Authoring and Debugging Techniques--Visual Studio 2005 Technical Articles
Please visit the following link:
http://msdn2.microsoft.com/en-us/library/ms364082(VS.80).aspx
http://msdn2.microsoft.com/en-us/library/ms364082(VS.80).aspx
Friday, March 27, 2009
How to capture multiple browser windows using WebTest?
Dear All,
We have a web application when we click on a hyperlink it opens in a new browser window.i want to check functionality of that hyperlink.but, webtest not recording the hyperlink window.
Please guide how to capture it?
Thanks,
Swaroop
-------------------------------------------------------------------------------
Are you saying that when you click in the new window the requests are not recorded in the origningal window?
--------------------------------------------------------------------------------
Blog - http://blogs.msdn.com/slumley/default.aspx
--------------------------------------------------------------------------------
Hi Kasireddy,
"Web Test Recorder" cannot record more then one browser at a time.
If you want to record both browser request you may want to use Fiddler - Please erad this post on how to Recording Web Test Using Fiddler
Good Luck
-------------------------------------------------------------------
After you record the first webpage(a.webtest), you can also also record the second page (b.webtest)
Just put all of the webrequests in b.webtest into a.webtest.
Besides fiddler, it is another way.
--------------------------------------------------------------------------------
Ray
----------------------------------------------------------------------------------
Hi Slumley,
Copying new browser URL into Record browser window solved the problem.
Thanks,
Swaroop
We have a web application when we click on a hyperlink it opens in a new browser window.i want to check functionality of that hyperlink.but, webtest not recording the hyperlink window.
Please guide how to capture it?
Thanks,
Swaroop
-------------------------------------------------------------------------------
Are you saying that when you click in the new window the requests are not recorded in the origningal window?
--------------------------------------------------------------------------------
Blog - http://blogs.msdn.com/slumley/default.aspx
--------------------------------------------------------------------------------
Hi Kasireddy,
"Web Test Recorder" cannot record more then one browser at a time.
If you want to record both browser request you may want to use Fiddler - Please erad this post on how to Recording Web Test Using Fiddler
Good Luck
-------------------------------------------------------------------
After you record the first webpage(a.webtest), you can also also record the second page (b.webtest)
Just put all of the webrequests in b.webtest into a.webtest.
Besides fiddler, it is another way.
--------------------------------------------------------------------------------
Ray
----------------------------------------------------------------------------------
Hi Slumley,
Copying new browser URL into Record browser window solved the problem.
Thanks,
Swaroop
List separator for csv files in web test
I use csv files in my web tests as data source. On my PC those tests run fine, but sometimes on other PC there is a problem with list separator. Where can I change list separator as I like (it didn't work with computer regional settings)?
Thanks!
----------------------------------------------------------------------------------
Do you mean that you are running on a machine with a different language. Check for this registry key and see what values you have for the 2 different machines:
Key: HKEY_CURRENT_USER\Control Panel\International
Name: sList
Blog - http://blogs.msdn.com/slumley/default.aspx
---------------------------------------------------------------------------------
This issue wont help. When I ran my test from VS, list separator isn't taken from regional settings (this reg key). I'm running my tests on machines with one language (in key sList separator are equal), but in VS on some PC a different list separator is needed...
---------------------------------------------------------------------------------
If you are still having trouble, I suggest using a different datasource such as xml, excel or a database.
--------------------------------------------------------------------------------
Blog - http://blogs.msdn.com/slumley/default.aspx
Thanks!
----------------------------------------------------------------------------------
Do you mean that you are running on a machine with a different language. Check for this registry key and see what values you have for the 2 different machines:
Key: HKEY_CURRENT_USER\Control Panel\International
Name: sList
Blog - http://blogs.msdn.com/slumley/default.aspx
---------------------------------------------------------------------------------
This issue wont help. When I ran my test from VS, list separator isn't taken from regional settings (this reg key). I'm running my tests on machines with one language (in key sList separator are equal), but in VS on some PC a different list separator is needed...
---------------------------------------------------------------------------------
If you are still having trouble, I suggest using a different datasource such as xml, excel or a database.
--------------------------------------------------------------------------------
Blog - http://blogs.msdn.com/slumley/default.aspx
Subscribe to:
Comments (Atom)
Unix/Linux Commands
Flow control Syntax break Exit a loop. continue Exit the current iteration of the loop and proceed with the next iteration. Ctrl+C Key com...
-
%systemroot%\system32\inetsrv\config\applicationHost.config https://docs.microsoft.com/en-us/iis/configuration/system.applicationhos...
-
hi everybody, i am doing load test for 10 users,20users,30users working fine upto to this point if increase to 40 users iam getting error a...