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 に答える