Commit 3221e0a9 3221e0a92c44232b1addbeedffb24f5695a44b55 by Christian Gerdes
2 parents a24fe3a2 e012aef8
1  1 
2 Microsoft Visual Studio Solution File, Format Version 12.00 2 Microsoft Visual Studio Solution File, Format Version 12.00
3 # Visual Studio 14 3 # Visual Studio 14
4 VisualStudioVersion = 14.0.24720.0 4 VisualStudioVersion = 14.0.25420.1
5 MinimumVisualStudioVersion = 10.0.40219.1 5 MinimumVisualStudioVersion = 10.0.40219.1
6 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8ADAFB91-C10D-42C8-8499-30B3692C27F3}" 6 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8ADAFB91-C10D-42C8-8499-30B3692C27F3}"
7 ProjectSection(SolutionItems) = preProject 7 ProjectSection(SolutionItems) = preProject
...@@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ...@@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
10 Local.testsettings = Local.testsettings 10 Local.testsettings = Local.testsettings
11 Notes.md = Notes.md 11 Notes.md = Notes.md
12 README.md = README.md 12 README.md = README.md
13 WIN-62BJ8PRQ3MQ.testsettings = WIN-62BJ8PRQ3MQ.testsettings
13 EndProjectSection 14 EndProjectSection
14 EndProject 15 EndProject
15 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LIL_VSTT_Plugins", "LIL_VSTT_Plugins\LIL_VSTT_Plugins.csproj", "{06A22593-601E-4386-917A-9835DE30E14E}" 16 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LIL_VSTT_Plugins", "LIL_VSTT_Plugins\LIL_VSTT_Plugins.csproj", "{06A22593-601E-4386-917A-9835DE30E14E}"
......
...@@ -18,10 +18,46 @@ using System.ComponentModel; ...@@ -18,10 +18,46 @@ using System.ComponentModel;
18 using Microsoft.VisualStudio.TestTools.WebTesting.Rules; 18 using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
19 using System.Text.RegularExpressions; 19 using System.Text.RegularExpressions;
20 using System.IO; 20 using System.IO;
21 using System.IO.Compression;
21 using Microsoft.VisualStudio.TestTools.LoadTesting; 22 using Microsoft.VisualStudio.TestTools.LoadTesting;
22 23
23 namespace LIL_VSTT_Plugins 24 namespace LIL_VSTT_Plugins
24 { 25 {
26 [DisplayName("Zip File Upload"), Description("Creates an ZIP archive of each of the files to be uploaded using the files name and adding .zip. Warning, uses %TEMP% for temp storage.")]
27 public class ZipFileUploadBeforePost : WebTestRequestPlugin
28 {
29 Queue<String> deleteDirs = new Queue<string>();
30 public override void PreRequest(object sender, PreRequestEventArgs e)
31 {
32 if (e.Request.Body.GetType() == typeof(FormPostHttpBody)) {
33 FormPostHttpBody body = (FormPostHttpBody)e.Request.Body;
34 foreach (FormPostParameter param in body.FormPostParameters) {
35 if(param.GetType() == typeof(FileUploadParameter))
36 {
37 FileUploadParameter fparam = (FileUploadParameter)param;
38 String tempDir = Path.GetTempPath() + "\\" + Guid.NewGuid().ToString();
39 Directory.CreateDirectory(tempDir);
40 deleteDirs.Enqueue(tempDir);
41 Directory.CreateDirectory(tempDir + @"\ZipDir");
42 File.Copy(fparam.FileName, tempDir + @"\ZipDir\" + Path.GetFileName(fparam.FileName));
43 ZipFile.CreateFromDirectory(tempDir + @"\ZipDir", tempDir + "\\" + Path.GetFileName(fparam.FileName) + ".zip");
44
45 fparam.FileName = tempDir + "\\" + Path.GetFileName(fparam.FileName) + ".zip";
46 fparam.FileUploadName = fparam.FileUploadName + ".zip";
47 }
48 }
49 }
50 base.PreRequest(sender, e);
51 }
52
53 public override void PostRequest(object sender, PostRequestEventArgs e)
54 {
55 foreach (String dir in deleteDirs) Directory.Delete(dir, true);
56 deleteDirs.Clear();
57 base.PostRequest(sender, e);
58 }
59 }
60
25 [DisplayName("Set Request Think Time"), Description("Changes the thinktime on requests with a set thinktime over 0 to the value of the ThinkTime context parameter")] 61 [DisplayName("Set Request Think Time"), Description("Changes the thinktime on requests with a set thinktime over 0 to the value of the ThinkTime context parameter")]
26 public class SetRequestThinkTime : WebTestPlugin 62 public class SetRequestThinkTime : WebTestPlugin
27 { 63 {
......
...@@ -41,6 +41,8 @@ ...@@ -41,6 +41,8 @@
41 <Reference Include="Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 41 <Reference Include="Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
42 <Reference Include="System" /> 42 <Reference Include="System" />
43 <Reference Include="System.Core" /> 43 <Reference Include="System.Core" />
44 <Reference Include="System.IO.Compression" />
45 <Reference Include="System.IO.Compression.FileSystem" />
44 <Reference Include="System.Xml.Linq" /> 46 <Reference Include="System.Xml.Linq" />
45 <Reference Include="System.Data.DataSetExtensions" /> 47 <Reference Include="System.Data.DataSetExtensions" />
46 <Reference Include="Microsoft.CSharp" /> 48 <Reference Include="Microsoft.CSharp" />
......
...@@ -17,6 +17,7 @@ using Microsoft.VisualStudio.TestTools.LoadTesting; ...@@ -17,6 +17,7 @@ using Microsoft.VisualStudio.TestTools.LoadTesting;
17 using System.ComponentModel; 17 using System.ComponentModel;
18 using System.IO; 18 using System.IO;
19 using System.Collections.Specialized; 19 using System.Collections.Specialized;
20 using System.Net;
20 21
21 namespace LIL_VSTT_Plugins 22 namespace LIL_VSTT_Plugins
22 { 23 {
...@@ -83,35 +84,75 @@ namespace LIL_VSTT_Plugins ...@@ -83,35 +84,75 @@ namespace LIL_VSTT_Plugins
83 [Description("(C) Copyright 2015 LIGHTS IN LINE AB\r\nSätter config värden i Service Manager instansen för hela loadtestet. Finns även som WebTestPlugin som enbart slår på det webtestet.")] 84 [Description("(C) Copyright 2015 LIGHTS IN LINE AB\r\nSätter config värden i Service Manager instansen för hela loadtestet. Finns även som WebTestPlugin som enbart slår på det webtestet.")]
84 public class ServiceManagerPlugin : ILoadTestPlugin 85 public class ServiceManagerPlugin : ILoadTestPlugin
85 { 86 {
86 [DisplayName("Use Expect 100 Behaviour"), DefaultValue(true)] 87 [DisplayName("Enable Expect 100 Behaviour"), DefaultValue(false)]
88 [Description(".Net 4.5 default is true, plugin default is false")]
87 public bool exp100 { get; set; } 89 public bool exp100 { get; set; }
88 90
89 [DisplayName("Max Connection Idle Time"), DefaultValue(100)] 91 [DisplayName("Connection Pool Idle Time (s)"), DefaultValue(100)]
90 public int maxIdle { get; set; } 92 public int maxIdle { get; set; }
91 93
94 [DisplayName("DNS Refresh Timeout (s)"), DefaultValue(120)]
95 public int DnsRefreshTimeout { get; set; }
96
97 [DisplayName("Enable DNS Round Robin"), DefaultValue(false)]
98 public bool EnableDnsRoundRobin { get; set; }
99
100 [Category("Transport Control")]
92 [DisplayName("TCP Keep Alive"), DefaultValue(false)] 101 [DisplayName("TCP Keep Alive"), DefaultValue(false)]
93 public bool keepAlive { get; set; } 102 public bool keepAlive { get; set; }
94 103
104 [Category("Transport Control")]
95 [DisplayName("TCP Keep Alive Timeout (ms)"), DefaultValue(5000)] 105 [DisplayName("TCP Keep Alive Timeout (ms)"), DefaultValue(5000)]
96 public int timeOut { get; set; } 106 public int timeOut { get; set; }
97 107
108 [Category("Transport Control")]
98 [DisplayName("TCP Keep Alive Interval"), DefaultValue(1000)] 109 [DisplayName("TCP Keep Alive Interval"), DefaultValue(1000)]
99 public int interVal { get; set; } 110 public int interVal { get; set; }
100 111
112 [Category("Transport Control")]
101 [DisplayName("Use Nagle Algorithm"), DefaultValue(false)] 113 [DisplayName("Use Nagle Algorithm"), DefaultValue(false)]
102 public bool useNagle { get; set; } 114 public bool useNagle { get; set; }
103 115
104 [DisplayName("Force TLS 1.2"), DefaultValue(false)] 116 [Category("Secure Sockets")]
105 [Description("Kräver .NET 4.5 samt att TLS1.2 är aktiverat i SChannel (använd bifogad schannel_high.reg)")] 117 [DisplayName("Enable TLS 1.2"), DefaultValue(true)]
118 [Description(".Net 4.5 default is false, plugin default is true")]
106 public bool useTls12 { get; set; } 119 public bool useTls12 { get; set; }
107 120
121 [Category("Secure Sockets")]
122 [DisplayName("Enable TLS 1.1"), DefaultValue(true)]
123 [Description(".Net 4.5 default is false, plugin default is true")]
124 public bool useTls11 { get; set; }
125
126 [Category("Secure Sockets")]
127 [DisplayName("Enable TLS 1.0"), DefaultValue(true)]
128 public bool useTls10 { get; set; }
129
130 [Category("Secure Sockets")]
131 [DisplayName("Enable SSL 3.0"), DefaultValue(false)]
132 public bool useSsl3 { get; set; }
133
134 [Category("Secure Sockets")]
135 [DisplayName("Enable CRL checks"), DefaultValue(false)]
136 public bool useCrl { get; set; }
137
108 public void Initialize(LoadTest loadTest) 138 public void Initialize(LoadTest loadTest)
109 { 139 {
110 System.Net.ServicePointManager.Expect100Continue = exp100; 140 ServicePointManager.Expect100Continue = exp100;
111 System.Net.ServicePointManager.MaxServicePointIdleTime = maxIdle; 141 ServicePointManager.MaxServicePointIdleTime = maxIdle * 1000;
112 System.Net.ServicePointManager.SetTcpKeepAlive(keepAlive, timeOut, interVal); 142 ServicePointManager.DnsRefreshTimeout = DnsRefreshTimeout * 1000;
113 System.Net.ServicePointManager.UseNagleAlgorithm = useNagle; 143 ServicePointManager.EnableDnsRoundRobin = EnableDnsRoundRobin;
114 if (useTls12) System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; 144 ServicePointManager.SetTcpKeepAlive(keepAlive, timeOut, interVal);
145 ServicePointManager.UseNagleAlgorithm = useNagle;
146 //if (useTls12) System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
147 if (useSsl3) ServicePointManager.SecurityProtocol |= SecurityProtocolType.Ssl3;
148 else ServicePointManager.SecurityProtocol &= SecurityProtocolType.Ssl3;
149 if (useTls10) ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls;
150 else ServicePointManager.SecurityProtocol &= SecurityProtocolType.Tls;
151 if (useTls11) ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11;
152 else ServicePointManager.SecurityProtocol &= SecurityProtocolType.Tls11;
153 if (useTls12) ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
154 else ServicePointManager.SecurityProtocol &= SecurityProtocolType.Tls12;
155 ServicePointManager.CheckCertificateRevocationList = useCrl;
115 } 156 }
116 157
117 } 158 }
......
...@@ -282,6 +282,58 @@ namespace LIL_VSTT_Plugins ...@@ -282,6 +282,58 @@ namespace LIL_VSTT_Plugins
282 } 282 }
283 283
284 /// <summary> 284 /// <summary>
285 /// Loggar alla transaktioners svarstider som context parametrar
286 /// </summary>
287 [DisplayName("Set Test Info As Header")]
288 [Description("(C) Copyright 2017 LIGHTS IN LINE AB\r\nAdds name information from transactions, pages, tests into a header in requests so that it can be used to group upon in tools like AppDynamics, DynaTrace, etc.")]
289 public class SetTestInfoAsHeader : WebTestPlugin
290 {
291 [DisplayName("Header Prefix")]
292 [Description("Prefix of the header to be added on requests")]
293 [DefaultValue("X-Sipoz")]
294 public String HeaderName { get; set; }
295
296 [DisplayName("Tests")]
297 [Description("Add the Test name as a header with <prefix>-TestName")]
298 [DefaultValue(true)]
299 public bool onTransaction { get; set; }
300
301 [DisplayName("Transactions")]
302 [Description("Add the transaction name as a header with <prefix>-TransactionName")]
303 [DefaultValue(true)]
304 public bool onTest { get; set; }
305
306 List<String> transactionPath = new List<string>();
307
308 public override void PreRequest(object sender, PreRequestEventArgs e)
309 {
310 base.PreRequest(sender, e);
311 if (onTest) e.Request.Headers.Add(HeaderName + "-TestName", e.WebTest.Name);
312 if (onTransaction && transactionPath.Count > 0)
313 {
314 String value = String.Empty;
315 foreach (string trans in transactionPath) {
316 if (value.Equals(String.Empty)) value = trans;
317 else value += "." + trans;
318 }
319 e.Request.Headers.Add(HeaderName + "-TransactionName", value);
320 }
321 }
322
323 public override void PreTransaction(object sender, PreTransactionEventArgs e)
324 {
325 base.PreTransaction(sender, e);
326 transactionPath.Add(e.TransactionName);
327 }
328
329 public override void PostTransaction(object sender, PostTransactionEventArgs e)
330 {
331 base.PostTransaction(sender, e);
332 transactionPath.Remove(e.TransactionName);
333 }
334 }
335
336 /// <summary>
285 /// Ignorerar status koder under 500. 337 /// Ignorerar status koder under 500.
286 /// </summary> 338 /// </summary>
287 [DisplayName("Ignore 4xx status codes")] 339 [DisplayName("Ignore 4xx status codes")]
...@@ -850,9 +902,8 @@ namespace LIL_VSTT_Plugins ...@@ -850,9 +902,8 @@ namespace LIL_VSTT_Plugins
850 Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair bcKey = null; 902 Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair bcKey = null;
851 Org.BouncyCastle.X509.X509Certificate bcCert = null; 903 Org.BouncyCastle.X509.X509Certificate bcCert = null;
852 904
853 while (keyTextBeginPos != -1) 905 while (keyTextBeginPos != -1 && keyTextEndPos != -1)
854 { 906 {
855 text = text.Substring(keyTextBeginPos);
856 object obj; 907 object obj;
857 try 908 try
858 { 909 {
...@@ -884,6 +935,8 @@ namespace LIL_VSTT_Plugins ...@@ -884,6 +935,8 @@ namespace LIL_VSTT_Plugins
884 } 935 }
885 } 936 }
886 keyTextBeginPos = text.IndexOf("-----BEGIN", keyTextEndPos); 937 keyTextBeginPos = text.IndexOf("-----BEGIN", keyTextEndPos);
938 if(keyTextBeginPos >= 0) text = text.Substring(keyTextBeginPos);
939 keyTextEndPos = text.IndexOf("-----END");
887 } 940 }
888 if (bcCert == null) 941 if (bcCert == null)
889 { 942 {
......
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <LoadTest Name="LoadTest5" Description="" Owner="" storage="c:\ws\repos\vstt-plugins\testproject1\loadtest5.loadtest" Priority="2147483647" Enabled="true" CssProjectStructure="" CssIteration="" DeploymentItemsEditable="" WorkItemIds="" TraceLevel="None" CurrentRunConfig="Run Settings1" Id="67894cbd-a6dc-48d4-997b-05f60d87d6e7" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"> 2 <LoadTest Name="LoadTest5" Description="" Owner="" storage="c:\users\wflg\source\repos\vstt-plugins\testproject1\loadtest5.loadtest" Priority="2147483647" Enabled="true" CssProjectStructure="" CssIteration="" DeploymentItemsEditable="" WorkItemIds="" TraceLevel="None" CurrentRunConfig="Run Settings1" Id="67894cbd-a6dc-48d4-997b-05f60d87d6e7" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
3 <Scenarios> 3 <Scenarios>
4 <Scenario Name="Scenario1" DelayBetweenIterations="0" PercentNewUsers="0" IPSwitching="false" TestMixType="PercentageOfTestsStarted" ApplyDistributionToPacingDelay="true" MaxTestIterations="0" DisableDuringWarmup="false" DelayStartTime="0" AllowedAgents=""> 4 <Scenario Name="Scenario1" DelayBetweenIterations="0" PercentNewUsers="0" IPSwitching="false" TestMixType="PercentageOfTestsStarted" ApplyDistributionToPacingDelay="true" MaxTestIterations="0" DisableDuringWarmup="false" DelayStartTime="0" AllowedAgents="">
5 <ThinkProfile Value="0.2" Pattern="Off" /> 5 <ThinkProfile Value="0.2" Pattern="Off" />
...@@ -440,4 +440,23 @@ ...@@ -440,4 +440,23 @@
440 </LoadGeneratorLocations> 440 </LoadGeneratorLocations>
441 </RunConfiguration> 441 </RunConfiguration>
442 </RunConfigurations> 442 </RunConfigurations>
443 <LoadTestPlugins>
444 <LoadTestPlugin Classname="LIL_VSTT_Plugins.ServiceManagerPlugin, LIL_VSTT_Plugins, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" DisplayName="Service Manager Config" Description="(C) Copyright 2015 LIGHTS IN LINE AB&#xD;&#xA;Sätter config värden i Service Manager instansen för hela loadtestet. Finns även som WebTestPlugin som enbart slår på det webtestet.">
445 <RuleParameters>
446 <RuleParameter Name="exp100" Value="True" />
447 <RuleParameter Name="maxIdle" Value="100" />
448 <RuleParameter Name="DnsRefreshTimeout" Value="120" />
449 <RuleParameter Name="EnableDnsRoundRobin" Value="False" />
450 <RuleParameter Name="keepAlive" Value="False" />
451 <RuleParameter Name="timeOut" Value="5000" />
452 <RuleParameter Name="interVal" Value="1000" />
453 <RuleParameter Name="useNagle" Value="False" />
454 <RuleParameter Name="useTls12" Value="False" />
455 <RuleParameter Name="useTls11" Value="False" />
456 <RuleParameter Name="useTls10" Value="True" />
457 <RuleParameter Name="useSsl3" Value="False" />
458 <RuleParameter Name="useCrl" Value="False" />
459 </RuleParameters>
460 </LoadTestPlugin>
461 </LoadTestPlugins>
443 </LoadTest> 462 </LoadTest>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -86,6 +86,12 @@ ...@@ -86,6 +86,12 @@
86 <None Include="LoadTest4.loadtest"> 86 <None Include="LoadTest4.loadtest">
87 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 87 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
88 </None> 88 </None>
89 <None Include="LoadTest6.loadtest">
90 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
91 </None>
92 <None Include="WebTest2.webtest">
93 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
94 </None>
89 <None Include="WebTest22.webtest"> 95 <None Include="WebTest22.webtest">
90 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 96 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
91 </None> 97 </None>
...@@ -93,19 +99,16 @@ ...@@ -93,19 +99,16 @@
93 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 99 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
94 </None> 100 </None>
95 <None Include="WebTest6.webtest"> 101 <None Include="WebTest6.webtest">
96 <SubType>Designer</SubType>
97 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 102 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
98 </None> 103 </None>
99 <None Include="WebTest5.webtest"> 104 <None Include="WebTest5.webtest">
100 <SubType>Designer</SubType>
101 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 105 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
102 </None> 106 </None>
103 <None Include="WebTest4.webtest"> 107 <None Include="WebTest4.webtest">
104 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 108 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
105 <SubType>Designer</SubType>
106 </None> 109 </None>
107 <None Include="WebTest3.webtest"> 110 <None Include="WebTest3.webtest">
108 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 111 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
109 </None> 112 </None>
110 <Content Include="Userdata.csv"> 113 <Content Include="Userdata.csv">
111 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 114 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
...@@ -113,6 +116,9 @@ ...@@ -113,6 +116,9 @@
113 <None Include="WebTest1.webtest"> 116 <None Include="WebTest1.webtest">
114 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 117 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
115 </None> 118 </None>
119 <None Include="WebTest7.webtest">
120 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
121 </None>
116 </ItemGroup> 122 </ItemGroup>
117 <ItemGroup> 123 <ItemGroup>
118 <ProjectReference Include="..\LIL_VSTT_Plugins\LIL_VSTT_Plugins.csproj"> 124 <ProjectReference Include="..\LIL_VSTT_Plugins\LIL_VSTT_Plugins.csproj">
......
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <WebTest Name="WebTest1" Id="c649760b-6dd8-4210-8a6d-3c6596d08668" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="" StopOnError="False" RecordedResultFile="WebTest1.a5a27e2d-474c-43bb-be4d-1b12e85851a0.rec.webtestresult"> 2 <WebTest Name="WebTest1" Id="c649760b-6dd8-4210-8a6d-3c6596d08668" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.a5a27e2d-474c-43bb-be4d-1b12e85851a0.rec.webtestresult" ResultsLocale="">
3 <Items> 3 <Items>
4 <Request Method="POST" Version="1.1" Url="http://www.lil.nu/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName=""> 4 <Request Method="POST" Guid="e57c04e5-b0f0-497a-bb41-3d4f42ea39cd" Version="1.1" Url="http://www.lil.nu/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
5 <Headers> 5 <RequestPlugins>
6 <Header Name="Username" Value="{{DataSource1.Userdata#csv.UserName}}" /> 6 <RequestPlugin Classname="LIL_VSTT_Plugins.ZipFileUploadBeforePost, LIL_VSTT_Plugins, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" DisplayName="Zip File Upload" Description="Creates an ZIP archive of each of the files to be uploaded using the files name and adding .zip. Warning, uses %TEMP% for temp storage." />
7 </Headers> 7 </RequestPlugins>
8 <ExtractionRules>
9 <ExtractionRule Classname="LIL_VSTT_Plugins.NestedExtractionRule, LIL_VSTT_Plugins, Version=1.0.0.1, Culture=neutral, PublicKeyToken=null" VariableName="TableRowTest" DisplayName="Nested Extraction" Description="(C) Copyright 2011 LIGHTS IN LINE AB&#xD;&#xA;Kombination av två extractions där den andra söker i resultatet av den första.">
10 <RuleParameters>
11 <RuleParameter Name="Start1" Value="&lt;table width=&quot;100%&quot;" />
12 <RuleParameter Name="End1" Value="&lt;/tr&gt;&lt;/table&gt;" />
13 <RuleParameter Name="Start2" Value="&lt;td id=&quot;start&quot; class=&quot;" />
14 <RuleParameter Name="End2" Value="&quot; onMouseOver" />
15 </RuleParameters>
16 </ExtractionRule>
17 </ExtractionRules>
18 <FormPostHttpBody> 8 <FormPostHttpBody>
19 <FormPostParameter Name="TestParam" Value="LORRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR" RecordedValue="" CorrelationBinding="" UrlEncode="True" /> 9 <FileUploadParameter Name="file" FileName="V:\projekt\2017\idag\data\generated-aug14\generated-files\out\large0\0large.xml" ContentType="application/octet-stream" GenerateUniqueName="False" UseGuids="False" FileUploadName="0large.xml" HtmlEncodeFileName="True" />
10 <FormPostParameter Name="TestParam" Value="0" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
20 </FormPostHttpBody> 11 </FormPostHttpBody>
21 </Request> 12 </Request>
22 </Items> 13 </Items>
...@@ -27,14 +18,4 @@ ...@@ -27,14 +18,4 @@
27 </Tables> 18 </Tables>
28 </DataSource> 19 </DataSource>
29 </DataSources> 20 </DataSources>
30 <WebTestPlugins>
31 <WebTestPlugin Classname="LIL_VSTT_Plugins.UniqueOnce, LIL_VSTT_Plugins, Version=1.0.0.1, Culture=neutral, PublicKeyToken=null" DisplayName="Datasource Unique Once" Description="(C) Copyright 2011 LIGHTS IN LINE AB&#xD;&#xA;OBS! Läs hela! Styr datasource selection till att endast göras en gång per iteration. Du måste ändra i din datasource Access Metod till Do Not Move Automatically! WebTestUserId används för att välja rad. Använder de datasources som finns definerade i webtestet. Använd test mix based on users starting tests samt 0 percent new users.">
32 <RuleParameters>
33 <RuleParameter Name="DataSourceName" Value="DataSource1" />
34 <RuleParameter Name="DataSourceTableName" Value="Userdata#csv" />
35 <RuleParameter Name="Offset" Value="0" />
36 </RuleParameters>
37 </WebTestPlugin>
38 <WebTestPlugin Classname="LIL_VSTT_Plugins.myPlugin, LIL_VSTT_Plugins, Version=1.0.0.1, Culture=neutral, PublicKeyToken=null" DisplayName="Expect 100 Off" Description="(C) Copyright 2011 LIGHTS IN LINE AB&#xD;&#xA;Stänger av .NET expected-100 headern i posts." />
39 </WebTestPlugins>
40 </WebTest> 21 </WebTest>
...\ No newline at end of file ...\ No newline at end of file
......
1 <?xml version="1.0" encoding="utf-8"?>
2 <WebTest Name="WebTest2" Id="97416298-3dc2-4f16-a28f-75470ee03ec8" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
3 <Items>
4 <Request Method="GET" Guid="b9a8ca3a-ceb3-4531-b567-9ee2dbd79c10" Version="1.1" Url="https://ort-api.dev.minpension.se/medborgare/197503140555" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False" />
5 </Items>
6 <WebTestPlugins>
7 <WebTestPlugin Classname="LIL_VSTT_Plugins.ClientCertificatePlugin, LIL_VSTT_Plugins, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" DisplayName="Client Certificate" Description="(C) Copyright 2016 LIGHTS IN LINE AB&#xD;&#xA;Sätter webtestet att använda ett specifikt client cert för SSL. Certifikatet installeras automatiskt i Windows User Certificate Store.">
8 <RuleParameters>
9 <RuleParameter Name="pCertificatePath" Value="C:\Temp\lightsinline.pfx" />
10 <RuleParameter Name="pCertificatePathParameter" Value="" />
11 <RuleParameter Name="pCertificatePassword" Value="ensfyr" />
12 <RuleParameter Name="pCertificatePasswordParameter" Value="" />
13 <RuleParameter Name="pDebug" Value="False" />
14 <RuleParameter Name="pInstallTrusted" Value="True" />
15 <RuleParameter Name="pInstallUntrusted" Value="True" />
16 </RuleParameters>
17 </WebTestPlugin>
18 </WebTestPlugins>
19 </WebTest>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <WebTest Name="WebTest6" Id="122acb09-9cc2-4809-903b-a7fee7f1e5c3" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest5.10d2bf93-1ab4-4a60-b4ff-f80b74d5d7e4.rec.webtestresult" ResultsLocale=""> 2 <WebTest Name="WebTest6" Id="122acb09-9cc2-4809-903b-a7fee7f1e5c3" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest5.10d2bf93-1ab4-4a60-b4ff-f80b74d5d7e4.rec.webtestresult" ResultsLocale="">
3 <Items> 3 <Items>
4 <Request Method="GET" Guid="57c5c6f4-6ec7-461e-85f2-5ff56e9a7a5f" Version="1.1" Url="https://u30015:45123/aimk12/KontrolluppgiftServiceV2TO/KontrolluppgiftServiceV2TO" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> 4 <Request Method="GET" Guid="57c5c6f4-6ec7-461e-85f2-5ff56e9a7a5f" Version="1.1" Url="https://ssokpr.rsv.se/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="False" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False" />
5 <Headers> 5 <TransactionTimer Name="Transaction1">
6 <Header Name="Accept" Value="application/json, text/plain, */*" /> 6 <Items>
7 </Headers> 7 <Request Method="GET" Guid="57c5c6f4-6ec7-461e-85f2-5ff56e9a7a5f" Version="1.1" Url="https://ssokpr.rsv.se/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="False" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False" />
8 </Request> 8 </Items>
9 </TransactionTimer>
10 <TransactionTimer Name="Transaction2">
11 <Items>
12 <Request Method="GET" Guid="57c5c6f4-6ec7-461e-85f2-5ff56e9a7a5f" Version="1.1" Url="https://ssokpr.rsv.se/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="False" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False" />
13 <TransactionTimer Name="Transaction3">
14 <Items>
15 <Request Method="GET" Guid="57c5c6f4-6ec7-461e-85f2-5ff56e9a7a5f" Version="1.1" Url="https://ssokpr.rsv.se/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="False" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False" />
16 </Items>
17 </TransactionTimer>
18 </Items>
19 </TransactionTimer>
9 </Items> 20 </Items>
10 <ContextParameters>
11 <ContextParameter Name="PEM" Value="U:\projekt\MjukaCertifikat\Interna_Certifikat_Okt_2016\8946019907112000070.pem" />
12 </ContextParameters>
13 <ValidationRules> 21 <ValidationRules>
14 <ValidationRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidateResponseUrl, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" DisplayName="Response URL" Description="Validates that the response URL after redirects are followed is the same as the recorded response URL. QueryString parameters are ignored." Level="Low" ExectuionOrder="BeforeDependents" /> 22 <ValidationRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidateResponseUrl, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" DisplayName="Response URL" Description="Validates that the response URL after redirects are followed is the same as the recorded response URL. QueryString parameters are ignored." Level="Low" ExectuionOrder="BeforeDependents" />
15 <ValidationRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidationRuleResponseTimeGoal, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" DisplayName="Response Time Goal" Description="Validates that the response time for the request is less than or equal to the response time goal as specified on the request. Response time goals of zero will be ignored." Level="Low" ExectuionOrder="AfterDependents"> 23 <ValidationRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidationRuleResponseTimeGoal, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" DisplayName="Response Time Goal" Description="Validates that the response time for the request is less than or equal to the response time goal as specified on the request. Response time goals of zero will be ignored." Level="Low" ExectuionOrder="AfterDependents">
...@@ -27,18 +35,15 @@ ...@@ -27,18 +35,15 @@
27 <RuleParameter Name="timeOut" Value="5000" /> 35 <RuleParameter Name="timeOut" Value="5000" />
28 <RuleParameter Name="interVal" Value="1000" /> 36 <RuleParameter Name="interVal" Value="1000" />
29 <RuleParameter Name="useNagle" Value="False" /> 37 <RuleParameter Name="useNagle" Value="False" />
30 <RuleParameter Name="useTls12" Value="False" /> 38 <RuleParameter Name="useTls12" Value="True" />
39 <RuleParameter Name="proxyOverride" Value="True" />
31 </RuleParameters> 40 </RuleParameters>
32 </WebTestPlugin> 41 </WebTestPlugin>
33 <WebTestPlugin Classname="LIL_VSTT_Plugins.ClientCertificatePlugin, LIL_VSTT_Plugins, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" DisplayName="Client Certificate" Description="(C) Copyright 2016 LIGHTS IN LINE AB&#xD;&#xA;Sätter webtestet att använda ett specifikt client cert för SSL. Certifikatet behöver inte installeras i certstore först."> 42 <WebTestPlugin Classname="LIL_VSTT_Plugins.SetTestInfoAsHeader, LIL_VSTT_Plugins, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" DisplayName="Set Test Info As Header" Description="(C) Copyright 2017 LIGHTS IN LINE AB&#xD;&#xA;Adds name information from transactions, pages, tests into a header in requests so that it can be used to group upon in tools like AppDynamics, DynaTrace, etc.">
34 <RuleParameters> 43 <RuleParameters>
35 <RuleParameter Name="pCertificatePath" Value="" /> 44 <RuleParameter Name="HeaderName" Value="X-Sipoz" />
36 <RuleParameter Name="pCertificatePathParameter" Value="PEM" /> 45 <RuleParameter Name="onTransaction" Value="True" />
37 <RuleParameter Name="pCertificatePassword" Value="" /> 46 <RuleParameter Name="onTest" Value="True" />
38 <RuleParameter Name="pCertificatePasswordParameter" Value="" />
39 <RuleParameter Name="pDebug" Value="True" />
40 <RuleParameter Name="pInstallTrusted" Value="True" />
41 <RuleParameter Name="pInstallUntrusted" Value="False" />
42 </RuleParameters> 47 </RuleParameters>
43 </WebTestPlugin> 48 </WebTestPlugin>
44 </WebTestPlugins> 49 </WebTestPlugins>
......
1 <?xml version="1.0" encoding="utf-8"?>
2 <WebTest Name="WebTest7" Id="b81f6de6-5ea8-4211-ac7b-3c0272942501" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
3 <Items>
4 <Request Method="GET" Guid="3d1817e4-021d-4bfc-b6d7-dfd8ffa7febf" Version="1.1" Url="https://www.lightsinline.se/" ThinkTime="0" Timeout="300" ParseDependentRequests="False" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False" />
5 </Items>
6 </WebTest>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="UTF-8"?>
2 <TestSettings name="WIN-62BJ8PRQ3MQ" id="99c45dea-8316-4172-81f8-090cfba87c3f" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
3 <Description>These are default test settings for a local test run.</Description>
4 <Deployment>
5 <DeploymentItem filename="TestProject1\Userdata.csv" />
6 </Deployment>
7 <RemoteController name="WIN-62BJ8PRQ3MQ.home" />
8 <Execution location="Remote" hostProcessPlatform="MSIL">
9 <TestTypeSpecific>
10 <UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
11 <AssemblyResolution>
12 <TestDirectory useLoadContext="true" />
13 </AssemblyResolution>
14 </UnitTestRunConfig>
15 <WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
16 <Browser name="Internet Explorer 9.0" MaxConnections="6">
17 <Headers>
18 <Header name="User-Agent" value="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" />
19 <Header name="Accept" value="*/*" />
20 <Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
21 <Header name="Accept-Encoding" value="GZIP" />
22 </Headers>
23 </Browser>
24 </WebTestRunConfiguration>
25 </TestTypeSpecific>
26 <AgentRule name="AllAgentsDefaultRole">
27 </AgentRule>
28 </Execution>
29 <Properties />
30 </TestSettings>
...\ No newline at end of file ...\ No newline at end of file