量角器版本 5.2.0(最新)- 如何模拟键盘按键 - TAB,ENTER



以下不起作用:browser.actions((.sendKeys(protractor.键(;browser.actions((.sendKeys(protractor.Key.ENTER(;

it('validate the upload portfolio feature', function() {
    //loginPage.loginToPRA(); // not needed
    element(by.custLoc(ObjRep.validateUploadPortfolio.portUpload)).click();
    browser.actions().sendKeys(protractor.Key.TAB);
    browser.actions().sendKeys(protractor.Key.ENTER);
    browser.sleep(3000);
});

在"浏览代码"按钮定位器中:

class="text-white background-teal cursor-pointer overflow-hidden padding-vertical-5 padding-horizontal-20 border-radius-4 border-shadow vertical-align-middle"

您混合了两种键输入方式。

硒方式:browser.actions()

如果您使用browser.actions().则使用硒方式,并且必须以perform()结束它才能执行操作。

在此量角器API中找到简短的描述以及指向详细Selenium描述的链接,其中包含所有可能的关键操作。

量角器功能element.sendKeys()

在这里你实际上不需要browser.actions().,而是element.,因为根据这里的量角器API描述,.sendKeys()是一个属性/函数,后跟一个element

所以都在代码中描述(我只使用element.sendKeys(),所以我没有测试硒的方式(

//SELENIUM-ACTION SEQUENCE IN PROTRACTOR
//Press first TAB, execute it, then Enter, execute it. The current cursor position doesn't matter
browser.actions().sendKeys(protractor.Key.TAB).perform();
browser.actions().sendKeys(protractor.Key.ENTER).perform();
//Press TAB then ENTER fast one after the other
browser.actions()
    .sendKeys(protractor.Key.TAB)
    .sendKeys(protractor.Key.ENTER)
    .perform();
//PROTRACTOR
//focuses first the cursor to "element", then presses [TAB]
element.sendKeys(protractor.Key.TAB);
//focuses first the cursor to "element", then presses [ENTER]
element.sendKeys(protractor.Key.ENTER);

最新更新