【问题标题】:element.sendkey not sending the space keyelement.sendkeys 不发送空格键
【发布时间】:2016-10-25 17:30:22
【问题描述】:

所以基本问题是我有一个量角器测试失败,因为缺少空间。如果我发送“新标题”,它会将“新标题”放在字段中,导致它失败。

示例代码:

it('should allow the description to be editted', function () {
    element.all(by.css('h4.review__header__item')).then(function (headerItems) {
        var description = headerItems[1];
        expect(description.getText()).toEqual('Short Test Meeting');
        browser.actions().mouseMove(description).click(description).perform();
        expect(description.getAttribute('contenteditable')).toBeTruthy();
        description.clear().sendKeys('Description New').sendKeys(protractor.Key.ENTER);
        element.all(by.css('h4.review__header__item')).then(function (headerItems) {
            description = headerItems[1];
            expect(description.getText()).toEqual('Description New');

            // Check to see if it persists
            browser.refresh();
            element.all(by.css('h4.review__header__item')).then(function (headerItems) {
                description = headerItems[1];
                expect(description.getText()).toEqual('Description New');
            });
        });
    });
});

错误:

1) 审查会议元数据应允许编辑描述

消息:

预期的“DescriptionNew”等于“Description New”。

堆栈: 错误:预期失败 在 /Users/adam/git/mrp-www/e2e/scenarios/reviewScenario.js:18:36 在 ManagedPromise.invokeCallback_ (/Users/adam/git/mrp-www/node_modules/selenium-webdriver/lib/promise.js:1379:14) 在 TaskQueue.execute_ (/Users/adam/git/mrp-www/node_modules/selenium-webdriver/lib/promise.js:2913:14) 在 TaskQueue.executeNext_ (/Users/adam/git/mrp-www/node_modules/selenium-webdriver/lib/promise.js:2896:21) 在 asyncRun (/Users/adam/git/mrp-www/node_modules/selenium-webdriver/lib/promise.js:2775:27) 在 /Users/adam/git/mrp-www/node_modules/selenium-webdriver/lib/promise.js:639:7 在 process._tickCallback (internal/process/next_tick.js:103:7)

【问题讨论】:

  • 顺便说一句:我手动验证了在描述字段中的输入是否按预期工作。

标签: angularjs protractor


【解决方案1】:

我相信您在 sendKeys(protractor.Key.ENTER) 之后缺少 .perform()

试试这个:

description.clear().sendKeys('Description New').sendKeys(protractor.Key.ENTER).perform();

【讨论】:

  • 不,perform 不是元素的函数。测试失败。
  • 尝试拆分。
  • 尝试拆分:description.clear(); description.sendKeys('Description New');
  • 尝试拆分:description.clear(); description.sendKeys('新的描述'); browser.actions().sendKeys(protractor.Key.ENTER).perform();
  • 与上述相同的失败。预期“DescriptionNew”等于“Description New”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
  • 2012-08-01
  • 2019-09-05
  • 1970-01-01
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
相关资源
最近更新 更多