2016-02-04 80 views
0

您好,我很新的JavaScript,Loop for tabbing

以下是我的情況,我想做一個函數,其中我傳遞'n'值的迭代次數。我正在用javascript寫我的測試腳本。

var tab6 = browser.actions().sendKeys(protractor.Key.TAB); 
    tab6.perform(); 
    page.pause(3); 

    var tab7 = browser.actions().sendKeys(protractor.Key.TAB); 
    tab7.perform(); 
    page.pause(3); 

    var tab8 = browser.actions().sendKeys(protractor.Key.TAB); 
    tab8.perform(); 
    page.pause(3); 

    var tab9 = browser.actions().sendKeys(protractor.Key.TAB); 
    tab9.perform(); 
    page.pause(3); 

    var tab10 = browser.actions().sendKeys(protractor.Key.TAB); 
    tab10.perform(); 
    page.pause(3); 

    var tab11 = browser.actions().sendKeys(protractor.Key.TAB); 
    tab11.perform(); 
    page.pause(3); 
+1

我有一個很難理解什麼是你想要的。 –

+0

嗨,亞當,我正在嘗試for循環的函數,我需要在上面的迭代次數中傳遞n的值,我必須寫6次相同的東西。 – Peter

回答

0

這是你想要的嗎?

function performTab(n) { 
    for (var i = 0; i < n; i++) { 
    var tab = browser.actions().sendKeys(protractor.Key.TAB); 
    tab.perform(); 
    page.pause(3); 
    } 
} 

如果沒有,請,更精確。

+0

感謝您的循環,我需要一個函數,我只需要傳遞迭代次數。 – Peter

+0

我厭倦了傳遞5,但它顯示爲語法錯誤:意外標識符函數performTab(5){0,1,2; Key.TAB); tab.perform(); page.pause(3); } } – Peter

+0

對不起,我的壞。 int是用於java的。在JavaScript中,我們使用var。編輯答案,現在它應該工作^^ – Derlin

0

你想按照預定的方向按下tab鍵多少次?

我真的很難理解你想要什麼。

document.onkeypress = tabCount; 
var ix = 0; 
function tabCount(e){ 
    var charCode = (typeof event.which == "number") ? event.which : event.keyCode 
    if (charCode == 9) ix++; 
} 

<input type=button tabIndex=1> 
<input type=button tabIndex=2> 
<input type=button tabIndex=3> 
<input type=button tabIndex=4> 
<input type=button tabIndex=5> 
0

在測試場景的情況下,我會做:

function testTabs(n) 
{ 
    for (let i = 1; i <= n; i++) 
    { 
     it(`Select tab #{i}`,() => { 
      browser.actions().sendKeys(protractor.Key.TAB).perform(); 
      page.pause(3); 
     }; 
    }; 
}