以下不工作: 。browser.actions()的SendKeys(protractor.Key.TAB); 。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"
答案 0 :(得分:2)
您正在混合两种键输入方式。
Selenium Way:browser.actions()
如果您使用browser.actions().
,则使用Selenium-Way,必须以perform()
结束才能执行操作。
查找here in this Protractor API简短描述以及指向详细的Selenium描述的链接以及所有可能的关键操作。
量角器功能element.sendKeys()
:
此处您实际上并不需要browser.actions().
,而是element.
,因为根据Protractor API description here .sendKeys()
,element
之后是属性/函数}}
所有在Code 中描述(我只使用element.sendKeys()
,所以我没有测试Selenium-Way)
//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);