public void Constructor() { FindMethod findMethod = new FindMethod(); Assert.AreEqual(FindMethodTypes.None, findMethod.MethodType, "Find method type not initialized correctly"); Assert.IsNotNull(findMethod.Arguments, "Arguments not initialized correctly"); Assert.AreEqual(0, findMethod.Arguments.Count, "Arguments not initialized correctly"); }
/// <summary> /// Parses input parameters to return a new instance of <see cref="FindMethod" />. /// <para>The list of supported find methods are as follows: /// <list methodType="table"> /// <item> /// <term><see cref="FindMethodTypes.ById">ById</see></term> /// <description> /// <para>Used to located an element by it's Id.</para> /// <para><b>Required:</b> Id. Example: ById, new string[] {"btnOkay"}</para> /// </description> /// </item> /// <item> /// <term><see cref="FindMethodTypes.ByLastElement">ByLastElement</see></term> /// <description> /// <para>Use that last element found, from the previous command execution.</para> /// </description> /// </item> /// <item> /// <term><see cref="FindMethodTypes.ByName">ByName</see></term> /// <description> /// <para>Used to located an element by it's name.</para> /// <para><b>Required arguments:</b> Name. Example: ByName, new string[] {"btnOkay"}</para> /// </description> /// </item> /// <item> /// <term><see cref="FindMethodTypes.ByNameAndValue">ByNameAndValue</see></term> /// <description> /// <para>Used to located an element by it's name and value, useful for locating radio buttons or checkboxes.</para> /// <para><b>Required arguments:</b> Name and value. Example: ByNameAndValue, new string[] {"radio1", "2"} where /// radio1 is the element's name and 2 is it's value. /// </para> /// </description> /// </item> /// <item> /// <term><see cref="FindMethodTypes.ByTitle">ByTitle</see></term> /// <description> /// <para>Used to located an element by it's title attribute.</para> /// <para><b>Required arguments:</b> Title. Example: ByTitle, new string[] {"Click on this link"}</para> /// </description> /// </item> /// <item> /// <term><see cref="FindMethodTypes.ByValue">ByValue</see></term> /// <description> /// <para>Used to located an element by it's value.</para> /// <para><b>Required arguments:</b> Value. Example: ByValue, new string[] {"visa"}</para> /// </description> /// </item> /// </list> /// </para> /// </summary> /// <param name="findMethod">Partial string representation of a <see cref="FindMethodTypes" /></param> /// <param name="findMethodArgs">Arguments used by the find method to locate a <see cref="WatiN.Core.Element" />.</param> /// <returns>The find method for the specified method and arguments</returns> /// <exception cref="InvalidFindMethodException">If the find method is unknown or invalid.</exception> public static FindMethod Parse(string findMethod, string[] findMethodArgs) { if (string.IsNullOrEmpty(findMethod)) { throw new ArgumentNullException("findMethod"); } if (findMethodArgs == null) { throw new ArgumentNullException("findMethodArgs"); } FindMethod returnValue = new FindMethod(); returnValue.arguments = new Collection<string>(findMethodArgs); returnValue.methodType = ParseFindMethodType(findMethod); return returnValue; }
/// <summary> /// Creates a new instance of <see cref="Command" /> /// </summary> public Command() { this.findMethod = new FindMethod(); this.id = string.Empty; this.arguments = new Collection<string>(); }