For adding dynamic data we need to add a .js extension file in selenium IDE (Selenium IDE > Options > Options).
Copy paste the below code and save it as .js extension file (userextension.js).
===============
Selenium.prototype.doRandomString = function( options, varName ) {
var length = 8;
var type = 'alphanumeric';
var o = options.split( '|' );
for ( var i = 0 ; i < 2 ; i ++ ) {
if ( o[i] && o[i].match( /^\d+$/ ) )
length = o[i];
if ( o[i] && o[i].match( /^(?:alpha)?(?:numeric)?$/ ) )
type = o[i];
}
switch( type ) {
case 'alpha' : storedVars[ varName ] = randomAlpha( length ); break;
case 'numeric' : storedVars[ varName ] = randomNumeric( length ); break;
case 'alphanumeric' : storedVars[ varName ] = randomAlphaNumeric( length ); break;
default : storedVars[ varName ] = randomAlphaNumeric( length );
};
};
function randomNumeric ( length ) {
return generateRandomString( length, '0123456789'.split( '' ) );
}
function randomAlpha ( length ) {
var alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split( '' );
return generateRandomString( length, alpha );
}
function randomAlphaNumeric ( length ) {
var alphanumeric = '01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split( '' );
return generateRandomString( length, alphanumeric );
}
function generateRandomString( length, chars ) {
var string = '';
for ( var i = 0 ; i < length ; i++ )
string += chars[ Math.floor( Math.random() * chars.length ) ];
return string;
}
==================
In Selenium IDE, enter
Command Target Value
randomString 6 Firstname
echo ${Firstname}
type id=fname ${Firstname}
==================
Scenario - Let say we want to create a new user profile and in firstname & lastname field we want to enter some random dynamic data.
Step 1: Copy paste the above code and save as .js extension file and add the javascript file to IDE (Selenium IDE > Options > Options > Selenium core extension). Restart your IDE.
Step 2: Add command
Command Target Value
randomString 6 Firstname
echo ${Firstname}
type id=fname ${Fname}
randomString 6 Lastname
echo ${Lastname}
type id=lname ${Lname}
click id=submit
Once the user is added, for verification we can use;
Command Target Value
store ${Fname} ${Lname} username
echo ${username}
verifyText enter: id/css/xpath/dom ${Fname} ${Lname}
OR
verifyText enter: id/css/xpath/dom ${username}
=========
Incase of a drop down list,
=========
select enter: id/css/xpath/dom ${Fname} ${Lname}
verifyselectedlabel enter: id/css/xpath/dom ${Fname} ${Lname}
OR
select enter: id/css/xpath/dom ${username}
verifyselectedlabel enter: id/css/xpath/dom ${username}
===========
HTML Code Format
<tr>
<td>randomString</td>
<td>6</td>
<td>Firstname</td>
</tr>
<tr>
<td>echo</td>
<td>${Firstname}</td>
</tr>
<tr>
<td>randomString</td>
<td>6</td>
<td>Lastname</td>
</tr>
<tr>
<td>echo</td>
<td>${Lastname}</td>
</tr>
<tr>
<td>Type</td>
<td>id=fname</td>
<td>${Fname}</td>
</tr>
<tr>
<td>Type</td>
<td>id=lname</td>
<td>${Lname}</td>
</tr>
<tr>
<td>click</td>
<td>id=submit</td>
</tr>
<tr>
<td>store</td>
<td>${Fname} ${Lname}</td>
<td>username</td>
</tr>
<tr>
<td>echo</td>
<td>${username}</td>
</tr>
<tr>
<td>verifyText</td>
<td>name=title</td>
<td>${username}</td>
</tr>
<tr>
<td>select</td>
<td>id=username</td>
<td>${username}</td>
</tr>
<tr>
<td>verifyselectedlabel</td>
<td>id=username</td>
<td>${username}</td>
</tr>
Thanks,
Pinaki Mohapatra
Copy paste the below code and save it as .js extension file (userextension.js).
===============
Selenium.prototype.doRandomString = function( options, varName ) {
var length = 8;
var type = 'alphanumeric';
var o = options.split( '|' );
for ( var i = 0 ; i < 2 ; i ++ ) {
if ( o[i] && o[i].match( /^\d+$/ ) )
length = o[i];
if ( o[i] && o[i].match( /^(?:alpha)?(?:numeric)?$/ ) )
type = o[i];
}
switch( type ) {
case 'alpha' : storedVars[ varName ] = randomAlpha( length ); break;
case 'numeric' : storedVars[ varName ] = randomNumeric( length ); break;
case 'alphanumeric' : storedVars[ varName ] = randomAlphaNumeric( length ); break;
default : storedVars[ varName ] = randomAlphaNumeric( length );
};
};
function randomNumeric ( length ) {
return generateRandomString( length, '0123456789'.split( '' ) );
}
function randomAlpha ( length ) {
var alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split( '' );
return generateRandomString( length, alpha );
}
function randomAlphaNumeric ( length ) {
var alphanumeric = '01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split( '' );
return generateRandomString( length, alphanumeric );
}
function generateRandomString( length, chars ) {
var string = '';
for ( var i = 0 ; i < length ; i++ )
string += chars[ Math.floor( Math.random() * chars.length ) ];
return string;
}
==================
In Selenium IDE, enter
Command Target Value
randomString 6 Firstname
echo ${Firstname}
type id=fname ${Firstname}
==================
Scenario - Let say we want to create a new user profile and in firstname & lastname field we want to enter some random dynamic data.
Step 1: Copy paste the above code and save as .js extension file and add the javascript file to IDE (Selenium IDE > Options > Options > Selenium core extension). Restart your IDE.
Step 2: Add command
Command Target Value
randomString 6 Firstname
echo ${Firstname}
type id=fname ${Fname}
randomString 6 Lastname
echo ${Lastname}
type id=lname ${Lname}
click id=submit
Once the user is added, for verification we can use;
Command Target Value
store ${Fname} ${Lname} username
echo ${username}
verifyText enter: id/css/xpath/dom ${Fname} ${Lname}
OR
verifyText enter: id/css/xpath/dom ${username}
=========
Incase of a drop down list,
=========
select enter: id/css/xpath/dom ${Fname} ${Lname}
verifyselectedlabel enter: id/css/xpath/dom ${Fname} ${Lname}
OR
select enter: id/css/xpath/dom ${username}
verifyselectedlabel enter: id/css/xpath/dom ${username}
===========
HTML Code Format
<tr>
<td>randomString</td>
<td>6</td>
<td>Firstname</td>
</tr>
<tr>
<td>echo</td>
<td>${Firstname}</td>
</tr>
<tr>
<td>randomString</td>
<td>6</td>
<td>Lastname</td>
</tr>
<tr>
<td>echo</td>
<td>${Lastname}</td>
</tr>
<tr>
<td>Type</td>
<td>id=fname</td>
<td>${Fname}</td>
</tr>
<tr>
<td>Type</td>
<td>id=lname</td>
<td>${Lname}</td>
</tr>
<tr>
<td>click</td>
<td>id=submit</td>
</tr>
<tr>
<td>store</td>
<td>${Fname} ${Lname}</td>
<td>username</td>
</tr>
<tr>
<td>echo</td>
<td>${username}</td>
</tr>
<tr>
<td>verifyText</td>
<td>name=title</td>
<td>${username}</td>
</tr>
<tr>
<td>select</td>
<td>id=username</td>
<td>${username}</td>
</tr>
<tr>
<td>verifyselectedlabel</td>
<td>id=username</td>
<td>${username}</td>
</tr>
Thanks,
Pinaki Mohapatra
No comments:
Post a Comment