量角器5.3.1无法发送Keys TAB或ENTER

时间:2018-04-12 21:56:49

标签: angular selenium protractor angular5 e2e-testing

我想在量角器e2e测试中输入键盘输入 - TAB或ENTER。香港专业教育学院尝试使用以下示例,但从未注册TAB或ENTER输入。我可以在我的源和目标字段中输入带有sendKeys的文本,我可以单击我的搜索按钮,但搜索从未真正执行,因为从未注册过ENTER或TAB。我已尝试过键盘输入的这些选项:

page.getOrigin()的SendKeys(protractor.Key.ENTER)。 。page.getOrigin()的SendKeys(protractor.Key.ENTER).perform();

量角器 - 5.3.1

spec.ts

从' ./ playground.po'中导入{PageObject}; 从'量角器'中导入{browser,by,element,ExpectedConditions,$,protractor}; 从'量角器';

导入{Config}

描述(' test',()=> {   let page:PageObject;

  beforeEach(() => {

    page = new PageObject();
    browser.waitForAngularEnabled(false);
    browser.get(browser.params.baseUrl);

  });


 it('a search in USA', () => {
    browser.sleep(1 * 2000);

    page.getOrigin().clear();
    page.getOrigin().sendKeys('California');
    page.getOrigin().sendKeys(protractor.Key.ENTER);

    page.getDestination().clear();
    page.getDestination().sendKeys('Boston');
    page.getDestination().sendKeys(protractor.Key.ENTER);

    page.getSearchButton().click();
    browser.sleep(1 * 2000);

  });

pageObject

import { browser, by, element } from 'protractor';

export class PageObject {

  getOrigin() {
    return element(by.className('originSearch')).element(by.name('origin'));
  }
  getDestination() {
    return element(by.className('destinationSearch')).element(by.name('destination'));
  }
  getSearchButton() {
    return element(by.css('div.searchButton'));
  }
}

1 个答案:

答案 0 :(得分:0)

您应该尝试将它们链接在一起,如下所示:

page.getOrigin().clear().sendKeys('California').sendKeys(protractor.Key.ENTER);

这应该确保他们以正确的顺序执行。