0

問題に必要な解決策:

Id は 'qualityassurance' に固定されています。次のような ID を生成したいです。1- q.ualityassurance

2 回目の実行 ID は次のようになります。2- qu.alityassurance

3回目の実行では、次のようになります。3- qua.lityassurance

idの長さまで続きます。しかし、インクリメントされた値で次の実行のために関数を呼び出す方法がわかりません。

コードは次のとおりです。

Selenium.prototype.doNothing = function(){
    // The do in front of Nothing in the function is what tells the system this is a global function
}

Selenium.prototype.doRandomEmail = function(locator, num)
{
    var id = “qualityassurancetask”;
    var stringLength = id.length;
    var randomstring = ”;
    var insstring = ‘.’;
    var num = 1;

    //var rnum = Math.floor(Math.random() * stringLength);

    var remainingstring = id.substring(num,id.length);

    randomstring += id.substring(0,num).concat(insstring, remainingstring);
    randomstring += “@gmail.com”

    num= num+1;

    selenium.doType(locator,randomstring,num);
}
4

1 に答える 1

0

次のようなことを試してください:

next_address = last_address.replace(/\.(.)/, "$1.");

アイデアは、「.?」を探すことです。どこ ?任意の文字です(正規表現のリテラル . は任意の文字に一致するために使用されるため、説明するために .? を使用することに注意してください)。これは "?." に変更されます。つまり、ドットは文字列の右方向に "プッシュ" されます。新しい住所と古い住所が同じである場合は、組み合わせが不足しています。

アドレス文字列に @gmail.com の部分が含まれている場合は、ドットを @ の後に移動しないようにする必要があります。これは次のように行うことができます。

next_address = last_address.replace(/\.(\w)/, "$1.");

つまり、ドットを「単語」文字と交換することのみを許可します。

于 2013-02-19T13:05:42.540 に答える