2016-02-04 69 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); 
     }; 
    }; 
}