Here is how I set up mercurial (Hg) and Trac on bluehost
I will make some minor changes to the scripts in a while to ease testing of new/other versions of all the software
which is installed by using some constants (e.g. $HOME).
All this because I’m to lazy to change to many variables in more than one place
Mercurial and Trac installation on bluehost
GT Trader Release info
GT Trader release notes are now found here.
Use random data in WebTest
Usually my WebTests are coded WebTests, but sometimes the plain WebTest can do the job a lot faster.
My biggest problem working with plain WebTests, is that all the input to my forms are the recorded values. In some of the text fields I need value variations every run.
To solve this problem I created a WebTest plugin. This plugin creates a couple of Context variables on the PreWebTest event. These variables can easily be used in the WebTest using the: {{VAR_NAME}} syntax.
- {{RANDOM}} – Gives you a random string of 5 characters
- {{RANDOMNUM}} – Gives you a string of 4 random numeric characters
- {{TIME_STAMP}} – Gives you a time stamp as a string
Just copy the code below into a C# Class Library project and compile. You can now connect your WebTest to this WebTestPlugin.
using System; using System.Collections.Generic; using System.Text; using Microsoft.VisualStudio.TestTools.WebTesting; namespace MyPlugin { public class RandomGenerator : WebTestPlugin { public override void PreWebTest(object sender, PreWebTestEventArgs e) { Random ran = new Random(); e.WebTest.Context["RANDOM"] = GetRandomString(5); e.WebTest.Context["RANDOMNUM"] = GetRandomNumberString(4); e.WebTest.Context["TIME_STAMP"] = GetTimeStamp(); } public override void PostWebTest(object sender, PostWebTestEventArgs e) { } /// <summary> /// Creates a random uppercase string with the letters A-Z /// </summary> /// <param name="length">Length of the string to generate</param> /// <returns>A random generated string of upper case characters</returns> protected string GetRandomString(int length) { Random ran = new Random(); char[] chArray = new char[length]; for (int i = 0; i < length; i++) { chArray[i] = (char)ran.Next(65, 90); } return new string(chArray); } /// <summary> /// Creates a random string with numeric characters /// </summary> /// <param name="length">Length of the string to generate</param> /// <returns>A random generated string of numeric characters</returns> protected string GetRandomNumberString(int length) { Random ran = new Random(); char[] chArray = new char[length]; for (int i = 0; i < length; i++) { chArray[i] = (char)ran.Next(48, 57); } return new string(chArray); } /// <summary> /// Creates a timestamp /// </summary> /// <returns>The timestamp as a string</returns> protected String GetTimeStamp() { DateTime dt = DateTime.Now; return dt.ToShortDateString() + " " + dt.ToLongTimeString() + ":" + dt.Millisecond; } } }
Colorized by: CarlosAg.CodeColorizer