| TC_StoreVars | ||
| store | ABD:XYZ:123 | v |
| echo | ${v} | |
| echo | javascript{storedVars['v'].split(':').length} | |
| echo | javascript{storedVars['v'].split(':')[2]} | |
Sharing my learnings on Selenium, I share as I learn and I learn as I share..
Saturday, April 9, 2011
Stored Vars in IDE (Array like functionality)
Screen capture on Google Maps
- Go to the below URL:http://maps.google.com/maps
- Type or Cut and Paste the below Address:
- 90 Hamilton Street, Cambridge, MA-02139
- Verify the Text Present “Lim Consultants Inc”
- Verify the Title “90 Hamilton Street, Cambridge, MA-02139 - Google Maps”
- Click on the “Lim Consultants Inc” link
- VerifyText Present “limconsultants.com” on the right side inline popup window.
- AssertText “Lim Consultants Inc” present within the inline popup window.
- Stop the Recoding in Selenium IDE
- Add screen capture at start and end of the Test, save the images as Test01.jpg and Test02.jpg resp.
CSV Format JS for IDE
comma: ",",
tab: "\t"
};
function formatCommands(commands) {
var result = '';
var sep = SEPARATORS[options['separator']];
for (var i = 0; i < commands.length; i++) {
var command = commands[i];
if (command.type == 'command') {
result += command.command + sep + command.target + sep + command.value + "\n";
}
}
return result;
}
function parse(testCase, source) {
var doc = source;
var commands = [];
var sep = SEPARATORS[options['separator']];
while (doc.length > 0) {
var line = /(.*)(\r\n|[\r\n])?/.exec(doc);
var array = line[1].split(sep);
if (array.length >= 3) {
var command = new Command();
command.command = array[0];
command.target = array[1];
command.value = array[2];
commands.push(command);
}
doc = doc.substr(line[0].length);
}
testCase.setCommands(commands);
}
function format(testCase, name) {
return formatCommands(testCase.commands);
}
options = {separator: 'comma'};
configForm =
'
'
'
'' +
'' +
'
'
STIQ-Pipe Format JS for IDE
comma: ",",
Pipe: "|",
tab: "\t",
Tilde: '~~'
};
function formatCommands(commands) {
var result = '';
var sep = SEPARATORS[options['separator']];
for (var i = 0; i < commands.length; i++) {
var command = commands[i];
if (command.type == 'command') {
switch (sep) {
case '|':
result += sep+command.command + sep + command.target + sep + command.value + sep+ "\r\n";
break;
case '~~':
result += sep+command.command + sep + command.target + sep + command.value + sep+ "\r\n";
break;
default:
result += command.command + sep + command.target + sep + command.value + "\r\n";
}
}
}
//alert(result);
return result;
}
function parse(testCase, source) {
var doc = source;
var commands = [];
var sep = SEPARATORS[options['separator']];
//alert("sep"+sep)
while (doc.length > 0) {
var line = /(.*)(\r\n|[\r\n])?/.exec(doc);
var array = line[1].split(sep);
if (array.length >= 3) {
var command = new Command();
switch (sep) {
case '|':
command.command = array[1];
command.target = array[2];
command.value = array[3];
break;
case '~~':
command.command = array[1];
command.target = array[2];
command.value = array[3];
break;
default:
command.command = array[0];
command.target = array[1];
command.value = array[2];
}
commands.push(command);
}
doc = doc.substr(line[0].length);
}
testCase.setCommands(commands);
}
function format(testCase, name) {
return formatCommands(testCase.commands);
}
options = {separator: 'comma',separator: 'Pipe',separator: 'Tilde'};
configForm =
'
'
'
'' +
'' +
'' +
'' +
'
'
Friday, April 8, 2011
JUnit 4 Vs TestNG
JUnit 4 and TestNG are both very popular unit test framework in Java. Both frameworks look very similar in functionality. Which one is better? Which unit test framework should i use in Java project?
Feature comparison between JUnit 4 and TestNG:

Regular Expressions
Regular Expression Is used by adding the regexp prefix to your pattern: regexp:pattern
Selenium uses the JavaScript implementation of regular expressions (Perl-based):
· any character matches its literal representation: abc will match abc
· [ starts a class, which is any number of characters specified in the class
o [a-z] will match any number of lowercase alphabetical characters without spaces: hello, pizza, world
o [A-Z] does the same with uppercase characters
o [a-zA-Z] will do the same with either uppercase of lowercase characters
o [abc] will match either a, b or c
o [0-9] will match numeric characters
o ^ negates the character class is just after [: [^a-z] will match all but lowercase alphabetic characters
o \d, \w and \s are shortcuts to match respectively digits, word characters (letters, digits and underscores) and spaces
o \D, \W and \S are the negations of the previous shortcuts
· . matches any single characters excepts line breaks \r and \n
· ^ matches the start of the string the pattern is applied to: ^. matches a in abcdef
· $ is like ^ but for the end of the string: .$ matches f in abcdef
· | is equivalent to a logical OR: abc|def|xyz matches abc, def or xyz
· | has the lowest priority so abc(def|xyz) will match either abcdef or abcxyz
· ? makes the last character of the match optional: abc? matches ab or abc
· ? works in a greedy way: it will include the last character if possible
· repeats the preceding item at least zero or more times: ".*" matches "def" and "ghi" in abc "def" "ghi" jkl
· *? is the lazy star: matches only "def" in the previous example
· + matches the previous item at least once or more times.
· {n} will match the previous item exactly n times: a{3} will match aaa
o {n,m} will match the previous item between n and m times with m >= n and is greedy so it will try to match m items first: a{2,4} will match aaaa, aaa and aa
o {n,m}? is the same but in a lazy way: will start by matching at least n times and increase the number of matches to m
o {n,} will match the previous item at least n times
· Common regexps:
o \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} matches an ip adress but will also match 999.999.999.999.
o (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) will match a real ip adress. Can be shortened to: (?:\d{1,3}\.){3}\d{1,3}
o [A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4} matches an email adress