myFunction = (function () {
// check whether myFunction already exists
if (typeof myFunction == 'function') {
var existingFunction = myFunction;
}
return function () {
// some codes before existing function
// . . .
if (typeof existingFunction != 'undefined') {
existingFunction.apply(this, arguments);
// by using 'apply' we can pass one or more arguments that is initially passed to the original function
}
// some codes after existing function
// . . .
};
} ());
Friday, 21 June 2013
Adding Codes to an Existing JavaScript Function
Below is a script to add codes (prepend or append) to an existing JavaScript function:
Labels:
JavaScript
Friday, 7 June 2013
Some WatiN Examples
Below are some examples of WatiN codes for testing:
// find div by id
var div = browser.Div("divId");
// find div by class
var div = browser.Div(Find.ByClass("divClass"));
// click a div
browser.Div("divId").Click();
// click a button
browser.Button("buttonId").Click();
// get <li></li> elements inside a div
var lisCollection= browser.Div("divId").ElementsWithTag("li");
// click the first <li></li>
lisCollection.FirstOrDefault().Click();
// click the one contains a particular inner text
lisCollection.Where(li => li.Text.Contains("some text")).FirstOrDefault().Click();
// get <a></a> elements inside a div
var links = browser.Links.Filter(a => a.Parent.Parent.Parent.ClassName == "divClass");
var links = browser.Links.Filter(a => a.Parent.Parent.Parent.Parent.Id == "divId");
// select from a select dropdown
browser.SelectList("selectId").Option("option text").Select();
// assert a div exists
Assert.IsTrue(browser.Div("divId").Exists);
// assert header(s) with a particular text exists
Assert.IsTrue(browser.ElementsWithTag("h1").Any(x => x.Text == "heading text"));
// assert only one header with a particular text exists
Assert.IsTrue(browser.ElementsWithTag("h3").Where(x => x.Text == "heading text").Count() == 1);
// assert a particular text exists inside a table td
Assert.IsTrue(browser.Table("tableId").TableCells.Any(x => x.Text == "text inside td"));
Labels:
.NET
Subscribe to:
Comments (Atom)
