在selenium ide中调用js文件函数

时间:2013-02-13 15:43:47

标签: javascript selenium

公司刚刚开始使用Selenium IDE 1.10和Firefox。在一些网页中有一个用户名和密码,并输入按钮以允许输入。我找到了一个代码,允许使用这个.js文件生成随机文本。如何从此.JS文件中调用此函数以填充此文本框并输入小说密码。这只是Web测试中的一个非常初步的阶段,以查看某些功能是否有效。建议?如何在IDE内部调用此函数,而无需通过密集的Java脚本培训。公司目前不想使用超过1.10 IDE本身和一些简单的JavaScript来填充字段,如果可能的话。

    // Generate random text for a variable
// Possible options:
//   length      number indicating how long to make the string (defaults to 8)
//
//   type        string indicating what type of string to create alpha, numeric
//               or alphanumeric (defaults to alphanumeric)
//
//   length|type pipe delimited option list

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;
}

1 个答案:

答案 0 :(得分:1)

打开一个notpad并将你的javascript代码放入其中并在执行此操作后保存记事本有userextension.js文件

打开selenium IDE&gt;选项&gt;常规选项卡。在关闭selenium之后浏览selenium core扩展中保存的userextension.js文件,然后重新启动。然后是行动

命令:randomstring

目标:6

值:文本

命令:类型

目标:: id =文本框的id

值:$ {文本}

这里6是要生成的字符串的长度

text是存储生成的字符串的变量

id =文本框的id是必须放置生成的字符串的地方

谢谢。