Commit 3221e0a9 3221e0a92c44232b1addbeedffb24f5695a44b55 by Christian Gerdes
2 parents a24fe3a2 e012aef8

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8ADAFB91-C10D-42C8-8499-30B3692C27F3}"
ProjectSection(SolutionItems) = preProject
......@@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
Local.testsettings = Local.testsettings
Notes.md = Notes.md
README.md = README.md
WIN-62BJ8PRQ3MQ.testsettings = WIN-62BJ8PRQ3MQ.testsettings
EndProjectSection
EndProject
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;
using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
using System.Text.RegularExpressions;
using System.IO;
using System.IO.Compression;
using Microsoft.VisualStudio.TestTools.LoadTesting;
namespace LIL_VSTT_Plugins
{
[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.")]
public class ZipFileUploadBeforePost : WebTestRequestPlugin
{
Queue<String> deleteDirs = new Queue<string>();
public override void PreRequest(object sender, PreRequestEventArgs e)
{
if (e.Request.Body.GetType() == typeof(FormPostHttpBody)) {
FormPostHttpBody body = (FormPostHttpBody)e.Request.Body;
foreach (FormPostParameter param in body.FormPostParameters) {
if(param.GetType() == typeof(FileUploadParameter))
{
FileUploadParameter fparam = (FileUploadParameter)param;
String tempDir = Path.GetTempPath() + "\\" + Guid.NewGuid().ToString();
Directory.CreateDirectory(tempDir);
deleteDirs.Enqueue(tempDir);
Directory.CreateDirectory(tempDir + @"\ZipDir");
File.Copy(fparam.FileName, tempDir + @"\ZipDir\" + Path.GetFileName(fparam.FileName));
ZipFile.CreateFromDirectory(tempDir + @"\ZipDir", tempDir + "\\" + Path.GetFileName(fparam.FileName) + ".zip");
fparam.FileName = tempDir + "\\" + Path.GetFileName(fparam.FileName) + ".zip";
fparam.FileUploadName = fparam.FileUploadName + ".zip";
}
}
}
base.PreRequest(sender, e);
}
public override void PostRequest(object sender, PostRequestEventArgs e)
{
foreach (String dir in deleteDirs) Directory.Delete(dir, true);
deleteDirs.Clear();
base.PostRequest(sender, e);
}
}
[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")]
public class SetRequestThinkTime : WebTestPlugin
{
......
......@@ -41,6 +41,8 @@
<Reference Include="Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
......
......@@ -17,6 +17,7 @@ using Microsoft.VisualStudio.TestTools.LoadTesting;
using System.ComponentModel;
using System.IO;
using System.Collections.Specialized;
using System.Net;
namespace LIL_VSTT_Plugins
{
......@@ -83,35 +84,75 @@ namespace LIL_VSTT_Plugins
[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.")]
public class ServiceManagerPlugin : ILoadTestPlugin
{
[DisplayName("Use Expect 100 Behaviour"), DefaultValue(true)]
[DisplayName("Enable Expect 100 Behaviour"), DefaultValue(false)]
[Description(".Net 4.5 default is true, plugin default is false")]
public bool exp100 { get; set; }
[DisplayName("Max Connection Idle Time"), DefaultValue(100)]
[DisplayName("Connection Pool Idle Time (s)"), DefaultValue(100)]
public int maxIdle { get; set; }
[DisplayName("DNS Refresh Timeout (s)"), DefaultValue(120)]
public int DnsRefreshTimeout { get; set; }
[DisplayName("Enable DNS Round Robin"), DefaultValue(false)]
public bool EnableDnsRoundRobin { get; set; }
[Category("Transport Control")]
[DisplayName("TCP Keep Alive"), DefaultValue(false)]
public bool keepAlive { get; set; }
[Category("Transport Control")]
[DisplayName("TCP Keep Alive Timeout (ms)"), DefaultValue(5000)]
public int timeOut { get; set; }
[Category("Transport Control")]
[DisplayName("TCP Keep Alive Interval"), DefaultValue(1000)]
public int interVal { get; set; }
[Category("Transport Control")]
[DisplayName("Use Nagle Algorithm"), DefaultValue(false)]
public bool useNagle { get; set; }
[DisplayName("Force TLS 1.2"), DefaultValue(false)]
[Description("Kräver .NET 4.5 samt att TLS1.2 är aktiverat i SChannel (använd bifogad schannel_high.reg)")]
[Category("Secure Sockets")]
[DisplayName("Enable TLS 1.2"), DefaultValue(true)]
[Description(".Net 4.5 default is false, plugin default is true")]
public bool useTls12 { get; set; }
[Category("Secure Sockets")]
[DisplayName("Enable TLS 1.1"), DefaultValue(true)]
[Description(".Net 4.5 default is false, plugin default is true")]
public bool useTls11 { get; set; }
[Category("Secure Sockets")]
[DisplayName("Enable TLS 1.0"), DefaultValue(true)]
public bool useTls10 { get; set; }
[Category("Secure Sockets")]
[DisplayName("Enable SSL 3.0"), DefaultValue(false)]
public bool useSsl3 { get; set; }
[Category("Secure Sockets")]
[DisplayName("Enable CRL checks"), DefaultValue(false)]
public bool useCrl { get; set; }
public void Initialize(LoadTest loadTest)
{
System.Net.ServicePointManager.Expect100Continue = exp100;
System.Net.ServicePointManager.MaxServicePointIdleTime = maxIdle;
System.Net.ServicePointManager.SetTcpKeepAlive(keepAlive, timeOut, interVal);
System.Net.ServicePointManager.UseNagleAlgorithm = useNagle;
if (useTls12) System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
ServicePointManager.Expect100Continue = exp100;
ServicePointManager.MaxServicePointIdleTime = maxIdle * 1000;
ServicePointManager.DnsRefreshTimeout = DnsRefreshTimeout * 1000;
ServicePointManager.EnableDnsRoundRobin = EnableDnsRoundRobin;
ServicePointManager.SetTcpKeepAlive(keepAlive, timeOut, interVal);
ServicePointManager.UseNagleAlgorithm = useNagle;
//if (useTls12) System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
if (useSsl3) ServicePointManager.SecurityProtocol |= SecurityProtocolType.Ssl3;
else ServicePointManager.SecurityProtocol &= SecurityProtocolType.Ssl3;
if (useTls10) ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls;
else ServicePointManager.SecurityProtocol &= SecurityProtocolType.Tls;
if (useTls11) ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11;
else ServicePointManager.SecurityProtocol &= SecurityProtocolType.Tls11;
if (useTls12) ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
else ServicePointManager.SecurityProtocol &= SecurityProtocolType.Tls12;
ServicePointManager.CheckCertificateRevocationList = useCrl;
}
}
......
......@@ -282,6 +282,58 @@ namespace LIL_VSTT_Plugins
}
/// <summary>
/// Loggar alla transaktioners svarstider som context parametrar
/// </summary>
[DisplayName("Set Test Info As Header")]
[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.")]
public class SetTestInfoAsHeader : WebTestPlugin
{
[DisplayName("Header Prefix")]
[Description("Prefix of the header to be added on requests")]
[DefaultValue("X-Sipoz")]
public String HeaderName { get; set; }
[DisplayName("Tests")]
[Description("Add the Test name as a header with <prefix>-TestName")]
[DefaultValue(true)]
public bool onTransaction { get; set; }
[DisplayName("Transactions")]
[Description("Add the transaction name as a header with <prefix>-TransactionName")]
[DefaultValue(true)]
public bool onTest { get; set; }
List<String> transactionPath = new List<string>();
public override void PreRequest(object sender, PreRequestEventArgs e)
{
base.PreRequest(sender, e);
if (onTest) e.Request.Headers.Add(HeaderName + "-TestName", e.WebTest.Name);
if (onTransaction && transactionPath.Count > 0)
{
String value = String.Empty;
foreach (string trans in transactionPath) {
if (value.Equals(String.Empty)) value = trans;
else value += "." + trans;
}
e.Request.Headers.Add(HeaderName + "-TransactionName", value);
}
}
public override void PreTransaction(object sender, PreTransactionEventArgs e)
{
base.PreTransaction(sender, e);
transactionPath.Add(e.TransactionName);
}
public override void PostTransaction(object sender, PostTransactionEventArgs e)
{
base.PostTransaction(sender, e);
transactionPath.Remove(e.TransactionName);
}
}
/// <summary>
/// Ignorerar status koder under 500.
/// </summary>
[DisplayName("Ignore 4xx status codes")]
......@@ -850,9 +902,8 @@ namespace LIL_VSTT_Plugins
Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair bcKey = null;
Org.BouncyCastle.X509.X509Certificate bcCert = null;
while (keyTextBeginPos != -1)
while (keyTextBeginPos != -1 && keyTextEndPos != -1)
{
text = text.Substring(keyTextBeginPos);
object obj;
try
{
......@@ -884,6 +935,8 @@ namespace LIL_VSTT_Plugins
}
}
keyTextBeginPos = text.IndexOf("-----BEGIN", keyTextEndPos);
if(keyTextBeginPos >= 0) text = text.Substring(keyTextBeginPos);
keyTextEndPos = text.IndexOf("-----END");
}
if (bcCert == null)
{
......
<?xml version="1.0" encoding="utf-8"?>
<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">
<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">
<Scenarios>
<Scenario Name="Scenario1" DelayBetweenIterations="0" PercentNewUsers="0" IPSwitching="false" TestMixType="PercentageOfTestsStarted" ApplyDistributionToPacingDelay="true" MaxTestIterations="0" DisableDuringWarmup="false" DelayStartTime="0" AllowedAgents="">
<ThinkProfile Value="0.2" Pattern="Off" />
......@@ -440,4 +440,23 @@
</LoadGeneratorLocations>
</RunConfiguration>
</RunConfigurations>
<LoadTestPlugins>
<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.">
<RuleParameters>
<RuleParameter Name="exp100" Value="True" />
<RuleParameter Name="maxIdle" Value="100" />
<RuleParameter Name="DnsRefreshTimeout" Value="120" />
<RuleParameter Name="EnableDnsRoundRobin" Value="False" />
<RuleParameter Name="keepAlive" Value="False" />
<RuleParameter Name="timeOut" Value="5000" />
<RuleParameter Name="interVal" Value="1000" />
<RuleParameter Name="useNagle" Value="False" />
<RuleParameter Name="useTls12" Value="False" />
<RuleParameter Name="useTls11" Value="False" />
<RuleParameter Name="useTls10" Value="True" />
<RuleParameter Name="useSsl3" Value="False" />
<RuleParameter Name="useCrl" Value="False" />
</RuleParameters>
</LoadTestPlugin>
</LoadTestPlugins>
</LoadTest>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<LoadTest Name="LoadTest6" Description="" Owner="" storage="d:\git\vstt-plugins\testproject1\loadtest6.loadtest" Priority="2147483647" Enabled="true" CssProjectStructure="" CssIteration="" DeploymentItemsEditable="" WorkItemIds="" TraceLevel="None" CurrentRunConfig="Run Settings1" Id="2049c28e-128b-40d7-965c-bc7e225fe68f" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Scenarios>
<Scenario Name="Scenario1" DelayBetweenIterations="0" PercentNewUsers="0" IPSwitching="false" TestMixType="PercentageOfTestsStarted" ApplyDistributionToPacingDelay="true" MaxTestIterations="0" DisableDuringWarmup="false" DelayStartTime="0" AllowedAgents="">
<ThinkProfile Value="0.2" Pattern="Off" />
<LoadProfile Pattern="Constant" InitialUsers="1" />
<TestMix>
<TestProfile Name="WebTest7" Path="webtest7.webtest" Id="b81f6de6-5ea8-4211-ac7b-3c0272942501" Percentage="100" Type="Microsoft.VisualStudio.TestTools.WebStress.DeclarativeWebTestElement, Microsoft.VisualStudio.QualityTools.LoadTest, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</TestMix>
<BrowserMix>
<BrowserProfile Percentage="100">
<Browser Name="Internet Explorer 9.0" MaxConnections="6">
<Headers>
<Header Name="User-Agent" Value="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" />
<Header Name="Accept" Value="*/*" />
<Header Name="Accept-Language" Value="{{$IEAcceptLanguage}}" />
<Header Name="Accept-Encoding" Value="GZIP" />
</Headers>
</Browser>
</BrowserProfile>
</BrowserMix>
<NetworkMix>
<NetworkProfile Percentage="100">
<Network Name="LAN" BandwidthInKbps="1000000" NetworkProfileConfigurationXml="&lt;Emulation&gt;&lt;VirtualChannel name=&quot;defaultChannel&quot;&gt;&lt;FilterList/&gt;&lt;VirtualLink instances=&quot;1&quot; name=&quot;defaultLink&quot;&gt;&lt;LinkRule dir=&quot;upstream&quot;&gt;&lt;Bandwidth&gt;&lt;Speed unit=&quot;kbps&quot;&gt;1000000&lt;/Speed&gt;&lt;/Bandwidth&gt;&lt;/LinkRule&gt;&lt;LinkRule dir=&quot;downstream&quot;&gt;&lt;Bandwidth&gt;&lt;Speed unit=&quot;kbps&quot;&gt;1000000&lt;/Speed&gt;&lt;/Bandwidth&gt;&lt;/LinkRule&gt;&lt;/VirtualLink&gt;&lt;/VirtualChannel&gt;&lt;/Emulation&gt;" />
</NetworkProfile>
</NetworkMix>
</Scenario>
</Scenarios>
<CounterSets>
<CounterSet Name="LoadTest" CounterSetType="LoadTest" LocId="">
<CounterCategories>
<CounterCategory Name="LoadTest:Scenario">
<Counters>
<Counter Name="User Load" HigherIsBetter="true" />
<Counter Name="Tests Running" HigherIsBetter="true" />
</Counters>
</CounterCategory>
<CounterCategory Name="LoadTest:Test">
<Counters>
<Counter Name="Total Tests" HigherIsBetter="true" />
<Counter Name="Passed Tests" HigherIsBetter="true" />
<Counter Name="Failed Tests" />
<Counter Name="Tests/Sec" HigherIsBetter="true" />
<Counter Name="Passed Tests/Sec" HigherIsBetter="true" />
<Counter Name="Failed Tests/Sec" />
<Counter Name="Avg. Requests/Test" HigherIsBetter="true" />
<Counter Name="Avg. Test Time" />
<Counter Name="% Time in LoadTestPlugin" />
<Counter Name="% Time in WebTest code" />
<Counter Name="% Time in Rules" />
</Counters>
</CounterCategory>
<CounterCategory Name="LoadTest:Transaction">
<Counters>
<Counter Name="Total Transactions" HigherIsBetter="true" />
<Counter Name="Avg. Transaction Time" />
<Counter Name="Avg. Response Time" />
<Counter Name="Transactions/Sec" HigherIsBetter="true" />
</Counters>
</CounterCategory>
<CounterCategory Name="LoadTest:Errors">
<Counters>
<Counter Name="Http Errors" />
<Counter Name="Validation Rule Errors" />
<Counter Name="Extraction Rule Errors" />
<Counter Name="Requests Timed Out" />
<Counter Name="Exceptions" />
<Counter Name="Total Errors" />
<Counter Name="Errors/Sec" />
<Counter Name="Threshold Violations/Sec" />
</Counters>
</CounterCategory>
<CounterCategory Name="LoadTest:Page">
<Counters>
<Counter Name="Total Pages" HigherIsBetter="true" />
<Counter Name="Avg. Page Time" />
<Counter Name="Page Response Time Goal" HigherIsBetter="true" />
<Counter Name="% Pages Meeting Goal" HigherIsBetter="true" />
<Counter Name="Pages/Sec" HigherIsBetter="true" />
</Counters>
</CounterCategory>
<CounterCategory Name="LoadTest:Request">
<Counters>
<Counter Name="Total Requests" HigherIsBetter="true" />
<Counter Name="Passed Requests" HigherIsBetter="true" />
<Counter Name="Failed Requests" />
<Counter Name="Cached Requests" HigherIsBetter="true" />
<Counter Name="Requests/Sec" HigherIsBetter="true" />
<Counter Name="Passed Requests/Sec" HigherIsBetter="true" />
<Counter Name="Failed Requests/Sec" />
<Counter Name="Avg. First Byte Time" />
<Counter Name="Avg. Response Time" />
<Counter Name="Avg. Connection Wait Time">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareCounters, Microsoft.VisualStudio.QualityTools.LoadTest, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<RuleParameters>
<RuleParameter Name="DependentCategory" Value="LoadTest:Page" />
<RuleParameter Name="DependentCounter" Value="Avg. Page Time" />
<RuleParameter Name="DependentInstance" Value="_Total" />
<RuleParameter Name="AlertIfOver" Value="True" />
<RuleParameter Name="WarningThreshold" Value="0.25" />
<RuleParameter Name="CriticalThreshold" Value="0.5" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="Avg. Content Length" />
</Counters>
</CounterCategory>
<CounterCategory Name="LoadTest:LogEntries">
<Counters>
<Counter Name="Total Log Entries" />
<Counter Name="Log Entries/Sec" />
</Counters>
</CounterCategory>
</CounterCategories>
</CounterSet>
<CounterSet Name="Controller" CounterSetType="Controller" LocId="CounterSet_Controller">
<CounterCategories>
<CounterCategory Name="Memory">
<Counters>
<Counter Name="% Committed Bytes In Use" Range="100" />
<Counter Name="Available MBytes" RangeGroup="Memory Bytes" HigherIsBetter="true">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest">
<RuleParameters>
<RuleParameter Name="AlertIfOver" Value="False" />
<RuleParameter Name="WarningThreshold" Value="100" />
<RuleParameter Name="CriticalThreshold" Value="50" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="Page Faults/sec" />
<Counter Name="Pages/sec" />
<Counter Name="Pool Paged Bytes" RangeGroup="Memory Bytes" />
<Counter Name="Pool Nonpaged bytes" RangeGroup="Memory Bytes" />
</Counters>
</CounterCategory>
<CounterCategory Name="Network Interface">
<Counters>
<Counter Name="Bytes Received/sec" RangeGroup="Network Bytes" />
<Counter Name="Bytes Sent/sec" RangeGroup="Network Bytes" />
<Counter Name="Output Queue Length">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest">
<RuleParameters>
<RuleParameter Name="AlertIfOver" Value="True" />
<RuleParameter Name="WarningThreshold" Value="1.5" />
<RuleParameter Name="CriticalThreshold" Value="2" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="Packets Received/sec" RangeGroup="Network Packets" />
<Counter Name="Packets Sent/sec" RangeGroup="Network Packets" />
<Counter Name="Current Bandwidth" RangeGroup="Network Bytes" />
<Counter Name="Bytes Total/sec" RangeGroup="Network Bytes">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareCounters, Microsoft.VisualStudio.QualityTools.LoadTest, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<RuleParameters>
<RuleParameter Name="DependentCategory" Value="Network Interface" />
<RuleParameter Name="DependentCounter" Value="Current Bandwidth" />
<RuleParameter Name="DependentInstance" Value="" />
<RuleParameter Name="AlertIfOver" Value="True" />
<RuleParameter Name="WarningThreshold" Value="0.6" />
<RuleParameter Name="CriticalThreshold" Value="0.7" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
</Counters>
<Instances>
<Instance Name="*" />
</Instances>
</CounterCategory>
<CounterCategory Name="PhysicalDisk">
<Counters>
<Counter Name="% Disk Read Time" Range="100" />
<Counter Name="% Disk Time" Range="100" />
<Counter Name="% Disk Write Time" Range="100" />
<Counter Name="% Idle Time" Range="100" HigherIsBetter="true">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest">
<RuleParameters>
<RuleParameter Name="AlertIfOver" Value="False" />
<RuleParameter Name="WarningThreshold" Value="40" />
<RuleParameter Name="CriticalThreshold" Value="20" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="Avg. Disk Bytes/Read" RangeGroup="DiskBytesRate" />
<Counter Name="Avg. Disk Bytes/Transfer" RangeGroup="DiskBytesRate" />
<Counter Name="Avg. Disk Bytes/Write" RangeGroup="DiskBytesRate" />
<Counter Name="Avg. Disk Queue Length" RangeGroup="Disk Queue Length" />
<Counter Name="Avg. Disk Read Queue Length" RangeGroup="Disk Queue Length" />
<Counter Name="Avg. Disk Write Queue Length" RangeGroup="Disk Queue Length" />
<Counter Name="Current Disk Queue Length" RangeGroup="Disk Queue Length" />
<Counter Name="Avg. Disk sec/Read" RangeGroup="Disk sec" />
<Counter Name="Avg. Disk sec/Transfer" RangeGroup="Disk sec" />
<Counter Name="Avg. Disk sec/Write" RangeGroup="Disk sec" />
<Counter Name="Disk Bytes/sec" RangeGroup="Disk Bytes sec" />
<Counter Name="Disk Read Bytes/sec" RangeGroup="Disk Bytes sec" />
<Counter Name="Disk Reads/sec" RangeGroup="Disk Transfers sec" />
<Counter Name="Disk Transfers/sec" RangeGroup="Disk Transfers sec" />
<Counter Name="Disk Write Bytes/sec" RangeGroup="Disk Bytes sec" />
<Counter Name="Disk Writes/sec" RangeGroup="Disk Transfers sec" />
<Counter Name="Split IO/Sec" RangeGroup="Disk Transfers sec" />
</Counters>
<Instances>
<Instance Name="*" />
</Instances>
</CounterCategory>
<CounterCategory Name="Processor">
<Counters>
<Counter Name="% Processor Time" Range="100">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest">
<RuleParameters>
<RuleParameter Name="AlertIfOver" Value="True" />
<RuleParameter Name="WarningThreshold" Value="75" />
<RuleParameter Name="CriticalThreshold" Value="90" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="% Privileged Time" Range="100" />
<Counter Name="% User Time" Range="100" />
</Counters>
<Instances>
<Instance Name="_Total" />
</Instances>
</CounterCategory>
<CounterCategory Name="System">
<Counters>
<Counter Name="Context Switches/sec" />
<Counter Name="Processes" />
<Counter Name="Processor Queue Length" />
<Counter Name="Threads" />
</Counters>
</CounterCategory>
<CounterCategory Name="Process">
<Counters>
<Counter Name="% Processor Time" RangeGroup="Processor Time" />
<Counter Name="% Privileged Time" RangeGroup="Processor Time" />
<Counter Name="% User Time" RangeGroup="Processor Time" />
<Counter Name="Handle Count" />
<Counter Name="Thread Count" />
<Counter Name="Private Bytes" RangeGroup="Memory Bytes" />
<Counter Name="Virtual Bytes" RangeGroup="Memory Bytes" />
<Counter Name="Working Set" RangeGroup="Memory Bytes" />
</Counters>
<Instances>
<Instance Name="QTController" />
<Instance Name="QTController64" />
</Instances>
</CounterCategory>
</CounterCategories>
<DefaultCountersForAutomaticGraphs>
<DefaultCounter CategoryName="Processor" CounterName="% Processor Time" InstanceName="_Total" GraphName="" />
<DefaultCounter CategoryName="Memory" CounterName="Available MBytes" InstanceName="" GraphName="" />
</DefaultCountersForAutomaticGraphs>
</CounterSet>
<CounterSet Name="Agent" CounterSetType="Agent" LocId="CounterSet_Agent">
<CounterCategories>
<CounterCategory Name="Memory">
<Counters>
<Counter Name="% Committed Bytes In Use" Range="100" />
<Counter Name="Available MBytes" RangeGroup="Memory Bytes" HigherIsBetter="true">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest">
<RuleParameters>
<RuleParameter Name="AlertIfOver" Value="False" />
<RuleParameter Name="WarningThreshold" Value="100" />
<RuleParameter Name="CriticalThreshold" Value="50" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="Page Faults/sec" />
<Counter Name="Pages/sec" />
<Counter Name="Pool Paged Bytes" RangeGroup="Memory Bytes" />
<Counter Name="Pool Nonpaged bytes" RangeGroup="Memory Bytes" />
</Counters>
</CounterCategory>
<CounterCategory Name="Network Interface">
<Counters>
<Counter Name="Bytes Received/sec" RangeGroup="Network Bytes" />
<Counter Name="Bytes Sent/sec" RangeGroup="Network Bytes" />
<Counter Name="Output Queue Length">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest">
<RuleParameters>
<RuleParameter Name="AlertIfOver" Value="True" />
<RuleParameter Name="WarningThreshold" Value="1.5" />
<RuleParameter Name="CriticalThreshold" Value="2" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="Packets Received/sec" RangeGroup="Network Packets" />
<Counter Name="Packets Sent/sec" RangeGroup="Network Packets" />
<Counter Name="Current Bandwidth" RangeGroup="Network Bytes" />
<Counter Name="Bytes Total/sec" RangeGroup="Network Bytes">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareCounters, Microsoft.VisualStudio.QualityTools.LoadTest, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<RuleParameters>
<RuleParameter Name="DependentCategory" Value="Network Interface" />
<RuleParameter Name="DependentCounter" Value="Current Bandwidth" />
<RuleParameter Name="DependentInstance" Value="" />
<RuleParameter Name="AlertIfOver" Value="True" />
<RuleParameter Name="WarningThreshold" Value="0.6" />
<RuleParameter Name="CriticalThreshold" Value="0.7" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
</Counters>
<Instances>
<Instance Name="*" />
</Instances>
</CounterCategory>
<CounterCategory Name="PhysicalDisk">
<Counters>
<Counter Name="% Disk Read Time" Range="100" />
<Counter Name="% Disk Time" Range="100" />
<Counter Name="% Disk Write Time" Range="100" />
<Counter Name="% Idle Time" Range="100" HigherIsBetter="true">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest">
<RuleParameters>
<RuleParameter Name="AlertIfOver" Value="False" />
<RuleParameter Name="WarningThreshold" Value="40" />
<RuleParameter Name="CriticalThreshold" Value="20" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="Avg. Disk Bytes/Read" RangeGroup="DiskBytesRate" />
<Counter Name="Avg. Disk Bytes/Transfer" RangeGroup="DiskBytesRate" />
<Counter Name="Avg. Disk Bytes/Write" RangeGroup="DiskBytesRate" />
<Counter Name="Avg. Disk Queue Length" RangeGroup="Disk Queue Length" />
<Counter Name="Avg. Disk Read Queue Length" RangeGroup="Disk Queue Length" />
<Counter Name="Avg. Disk Write Queue Length" RangeGroup="Disk Queue Length" />
<Counter Name="Current Disk Queue Length" RangeGroup="Disk Queue Length" />
<Counter Name="Avg. Disk sec/Read" RangeGroup="Disk sec" />
<Counter Name="Avg. Disk sec/Transfer" RangeGroup="Disk sec" />
<Counter Name="Avg. Disk sec/Write" RangeGroup="Disk sec" />
<Counter Name="Disk Bytes/sec" RangeGroup="Disk Bytes sec" />
<Counter Name="Disk Read Bytes/sec" RangeGroup="Disk Bytes sec" />
<Counter Name="Disk Reads/sec" RangeGroup="Disk Transfers sec" />
<Counter Name="Disk Transfers/sec" RangeGroup="Disk Transfers sec" />
<Counter Name="Disk Write Bytes/sec" RangeGroup="Disk Bytes sec" />
<Counter Name="Disk Writes/sec" RangeGroup="Disk Transfers sec" />
<Counter Name="Split IO/Sec" RangeGroup="Disk Transfers sec" />
</Counters>
<Instances>
<Instance Name="*" />
</Instances>
</CounterCategory>
<CounterCategory Name="Processor">
<Counters>
<Counter Name="% Processor Time" Range="100">
<ThresholdRules>
<ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest">
<RuleParameters>
<RuleParameter Name="AlertIfOver" Value="True" />
<RuleParameter Name="WarningThreshold" Value="75" />
<RuleParameter Name="CriticalThreshold" Value="90" />
</RuleParameters>
</ThresholdRule>
</ThresholdRules>
</Counter>
<Counter Name="% Privileged Time" Range="100" />
<Counter Name="% User Time" Range="100" />
</Counters>
<Instances>
<Instance Name="0" />
<Instance Name="_Total" />
</Instances>
</CounterCategory>
<CounterCategory Name="System">
<Counters>
<Counter Name="Context Switches/sec" />
<Counter Name="Processes" />
<Counter Name="Processor Queue Length" />
<Counter Name="Threads" />
</Counters>
</CounterCategory>
<CounterCategory Name="Process">
<Counters>
<Counter Name="% Processor Time" RangeGroup="Processor Time" />
<Counter Name="% Privileged Time" RangeGroup="Processor Time" />
<Counter Name="% User Time" RangeGroup="Processor Time" />
<Counter Name="Handle Count" />
<Counter Name="Thread Count" />
<Counter Name="Private Bytes" RangeGroup="Memory Bytes" />
<Counter Name="Virtual Bytes" RangeGroup="Memory Bytes" />
<Counter Name="Working Set" RangeGroup="Memory Bytes" />
</Counters>
<Instances>
<Instance Name="devenv" />
<Instance Name="QTAgentService" />
<Instance Name="QTAgent" />
<Instance Name="QTAgent32" />
<Instance Name="QTDCAgent" />
<Instance Name="QTDCAgent32" />
<Instance Name="QTAgent_35" />
<Instance Name="QTAgent_40" />
<Instance Name="QTAgent32_35" />
<Instance Name="QTAgent32_40" />
</Instances>
</CounterCategory>
</CounterCategories>
<DefaultCountersForAutomaticGraphs>
<DefaultCounter CategoryName="Processor" CounterName="% Processor Time" InstanceName="0" GraphName="" RunType="Local" />
<DefaultCounter CategoryName="Processor" CounterName="% Processor Time" InstanceName="_Total" GraphName="" RunType="Remote" />
<DefaultCounter CategoryName="Memory" CounterName="Available MBytes" InstanceName="" GraphName="" />
</DefaultCountersForAutomaticGraphs>
</CounterSet>
</CounterSets>
<RunConfigurations>
<RunConfiguration Name="Run Settings1" Description="" ResultsStoreType="Database" TimingDetailsStorage="AllIndividualDetails" SaveTestLogsOnError="true" SaveTestLogsFrequency="0" MaxErrorDetails="200" MaxErrorsPerType="1000" MaxThresholdViolations="1000" MaxRequestUrlsReported="1000" UseTestIterations="true" RunDuration="300" WarmupTime="0" CoolDownTime="0" TestIterations="1" WebTestConnectionModel="ConnectionPerUser" WebTestConnectionPoolSize="50" SampleRate="15" ValidationLevel="High" SqlTracingConnectString="" SqlTracingConnectStringDisplayValue="" SqlTracingDirectory="" SqlTracingEnabled="false" SqlTracingFileCount="2" SqlTracingRolloverEnabled="true" SqlTracingMinimumDuration="500" RunUnitTestsInAppDomain="true" CoreCount="0" ResourcesRetentionTimeInMinutes="0" UseMultipleIPs="false" TestAgentConfiguration="Default" AgentDiagnosticsLevel="Warning">
<CounterSetMappings>
<CounterSetMapping ComputerName="[CONTROLLER MACHINE]">
<CounterSetReferences>
<CounterSetReference CounterSetName="LoadTest" />
<CounterSetReference CounterSetName="Controller" />
</CounterSetReferences>
</CounterSetMapping>
<CounterSetMapping ComputerName="[AGENT MACHINES]">
<CounterSetReferences>
<CounterSetReference CounterSetName="Agent" />
</CounterSetReferences>
</CounterSetMapping>
</CounterSetMappings>
<LoadGeneratorLocations>
<GeoLocation Location="Default" Percentage="100" />
</LoadGeneratorLocations>
</RunConfiguration>
</RunConfigurations>
<LoadTestPlugins>
<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.">
<RuleParameters>
<RuleParameter Name="exp100" Value="False" />
<RuleParameter Name="maxIdle" Value="100" />
<RuleParameter Name="DnsRefreshTimeout" Value="120" />
<RuleParameter Name="EnableDnsRoundRobin" Value="False" />
<RuleParameter Name="keepAlive" Value="False" />
<RuleParameter Name="timeOut" Value="5000" />
<RuleParameter Name="interVal" Value="1000" />
<RuleParameter Name="useNagle" Value="False" />
<RuleParameter Name="useTls12" Value="True" />
<RuleParameter Name="useTls11" Value="True" />
<RuleParameter Name="useTls10" Value="True" />
<RuleParameter Name="useSsl3" Value="False" />
<RuleParameter Name="useCrl" Value="False" />
</RuleParameters>
</LoadTestPlugin>
</LoadTestPlugins>
</LoadTest>
\ No newline at end of file
......@@ -86,6 +86,12 @@
<None Include="LoadTest4.loadtest">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="LoadTest6.loadtest">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="WebTest2.webtest">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="WebTest22.webtest">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
......@@ -93,19 +99,16 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="WebTest6.webtest">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="WebTest5.webtest">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="WebTest4.webtest">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="WebTest3.webtest">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Content Include="Userdata.csv">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
......@@ -113,6 +116,9 @@
<None Include="WebTest1.webtest">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="WebTest7.webtest">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LIL_VSTT_Plugins\LIL_VSTT_Plugins.csproj">
......
<?xml version="1.0" encoding="utf-8"?>
<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">
<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="">
<Items>
<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="">
<Headers>
<Header Name="Username" Value="{{DataSource1.Userdata#csv.UserName}}" />
</Headers>
<ExtractionRules>
<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.">
<RuleParameters>
<RuleParameter Name="Start1" Value="&lt;table width=&quot;100%&quot;" />
<RuleParameter Name="End1" Value="&lt;/tr&gt;&lt;/table&gt;" />
<RuleParameter Name="Start2" Value="&lt;td id=&quot;start&quot; class=&quot;" />
<RuleParameter Name="End2" Value="&quot; onMouseOver" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<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">
<RequestPlugins>
<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." />
</RequestPlugins>
<FormPostHttpBody>
<FormPostParameter Name="TestParam" Value="LORRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
<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" />
<FormPostParameter Name="TestParam" Value="0" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items>
......@@ -27,14 +18,4 @@
</Tables>
</DataSource>
</DataSources>
<WebTestPlugins>
<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.">
<RuleParameters>
<RuleParameter Name="DataSourceName" Value="DataSource1" />
<RuleParameter Name="DataSourceTableName" Value="Userdata#csv" />
<RuleParameter Name="Offset" Value="0" />
</RuleParameters>
</WebTestPlugin>
<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." />
</WebTestPlugins>
</WebTest>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<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="">
<Items>
<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" />
</Items>
<WebTestPlugins>
<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.">
<RuleParameters>
<RuleParameter Name="pCertificatePath" Value="C:\Temp\lightsinline.pfx" />
<RuleParameter Name="pCertificatePathParameter" Value="" />
<RuleParameter Name="pCertificatePassword" Value="ensfyr" />
<RuleParameter Name="pCertificatePasswordParameter" Value="" />
<RuleParameter Name="pDebug" Value="False" />
<RuleParameter Name="pInstallTrusted" Value="True" />
<RuleParameter Name="pInstallUntrusted" Value="True" />
</RuleParameters>
</WebTestPlugin>
</WebTestPlugins>
</WebTest>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<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="">
<Items>
<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">
<Headers>
<Header Name="Accept" Value="application/json, text/plain, */*" />
</Headers>
</Request>
<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" />
<TransactionTimer Name="Transaction1">
<Items>
<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" />
</Items>
</TransactionTimer>
<TransactionTimer Name="Transaction2">
<Items>
<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" />
<TransactionTimer Name="Transaction3">
<Items>
<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" />
</Items>
</TransactionTimer>
</Items>
</TransactionTimer>
</Items>
<ContextParameters>
<ContextParameter Name="PEM" Value="U:\projekt\MjukaCertifikat\Interna_Certifikat_Okt_2016\8946019907112000070.pem" />
</ContextParameters>
<ValidationRules>
<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" />
<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 @@
<RuleParameter Name="timeOut" Value="5000" />
<RuleParameter Name="interVal" Value="1000" />
<RuleParameter Name="useNagle" Value="False" />
<RuleParameter Name="useTls12" Value="False" />
<RuleParameter Name="useTls12" Value="True" />
<RuleParameter Name="proxyOverride" Value="True" />
</RuleParameters>
</WebTestPlugin>
<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.">
<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.">
<RuleParameters>
<RuleParameter Name="pCertificatePath" Value="" />
<RuleParameter Name="pCertificatePathParameter" Value="PEM" />
<RuleParameter Name="pCertificatePassword" Value="" />
<RuleParameter Name="pCertificatePasswordParameter" Value="" />
<RuleParameter Name="pDebug" Value="True" />
<RuleParameter Name="pInstallTrusted" Value="True" />
<RuleParameter Name="pInstallUntrusted" Value="False" />
<RuleParameter Name="HeaderName" Value="X-Sipoz" />
<RuleParameter Name="onTransaction" Value="True" />
<RuleParameter Name="onTest" Value="True" />
</RuleParameters>
</WebTestPlugin>
</WebTestPlugins>
......
<?xml version="1.0" encoding="utf-8"?>
<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="">
<Items>
<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" />
</Items>
</WebTest>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="WIN-62BJ8PRQ3MQ" id="99c45dea-8316-4172-81f8-090cfba87c3f" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<Deployment>
<DeploymentItem filename="TestProject1\Userdata.csv" />
</Deployment>
<RemoteController name="WIN-62BJ8PRQ3MQ.home" />
<Execution location="Remote" hostProcessPlatform="MSIL">
<TestTypeSpecific>
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
<AssemblyResolution>
<TestDirectory useLoadContext="true" />
</AssemblyResolution>
</UnitTestRunConfig>
<WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
<Browser name="Internet Explorer 9.0" MaxConnections="6">
<Headers>
<Header name="User-Agent" value="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" />
<Header name="Accept" value="*/*" />
<Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
<Header name="Accept-Encoding" value="GZIP" />
</Headers>
</Browser>
</WebTestRunConfiguration>
</TestTypeSpecific>
<AgentRule name="AllAgentsDefaultRole">
</AgentRule>
</Execution>
<Properties />
</TestSettings>
\ No newline at end of file