3

当用户未使用 webdriverio、mocha 和 phantomjs 在字段中输入任何内容时,我正在测试工具提示的外观。下面是测试代码:

// failing test
describe ('Test appearance of a tooltip upon entering nothing', function(){
  before(function(){
    return browser.url(site);
  });

  before(function(){
    return browser.setValue('#id_field1', '', 'tab')// mimicking users entering nothing
  });

  it('should notify users via a tooltip "Enter a valid lotno"', function(){
    return browser.getHTML('body')
      .then(function(form, done){
        return form.should.contain('Enter a valid lotno');
          setTimeout(done, 1000);
      });
    }); // it block ends here
  });// describe block ends for tooltip tests

这不显示工具提示文本。

我有另一个测试,如果用户输入了不正确的值,它应该显示一个工具提示文本,这就像预期的那样工作。下面是通过测试:

// passing test
describe ('Test appearance of a tooltip upon entering non numbers', function(){

  before(function(){
    return browser.url(site);
  });

  before(function(){
    return browser.setValue('#id_field1', 'JKJK', 'tab')// mimicking users entering non numbers
  });

  it('should notify users via a tooltip "Numbers only please"', function(){
    return browser.getHTML('body')
      .then(function(form, done){
        return form.should.contain('Numbers only please');
          setTimeout(done, 1000);
      });
  }); // it block ends here
});// describe block ends for tooltip tests

如何测试用户不输入任何内容并显示工具提示?当我直接在站点中测试这些步骤时,两个工具提示都按预期显示。

4

1 回答 1

5

我会尝试以下方法:

before(function(){
    return browser.setValue('#id_field1', ['', 'Tab']);
});

显然 setValue 的使用支持发送值数组:https ://github.com/webdriverio/webdriverio/issues/84 。或者,您可以使用 keys 命令。http://webdriver.io/api/protocol/keys.html

于 2015-08-17T19:45:34.227 回答