And*_*rew 5 html javascript jasmine
我有一个茉莉花测试,其中有2个输入字段。我将重点放在第一个输入上,然后在“ tab”键上模拟击键,并期望焦点在第二个输入上。不幸的是,这种情况并非如此。焦点从第一个开始没有改变,我的测试失败了。如何解决此问题,以使失败的测试通过?
我要测试的小提琴:http : //jsfiddle.net/G2Qz3/1/
Jasmine测试失败的小提琴:http://jsfiddle.net/mFUhK/4/
HTML:
<input id="first"></input>
<input id="second"></input>
Run Code Online (Sandbox Code Playgroud)
JavaScript:
function simulateTab() {
var TAB_KEY = 9;
var keyboardEvent = document.createEvent("KeyboardEvent");
var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? "initKeyboardEvent" : "initKeyEvent";
keyboardEvent[initMethod]("keydown", true, true, window, 0, 0, 0, 0, 0, TAB_KEY);
document.dispatchEvent(keyboardEvent);
}
describe('input tabbing test', function() {
beforeEach(function() {
document.getElementById('first').focus();
});
//this passes
it('input with id "first" should be focussed', function() {
expect(document.activeElement.getAttribute('id')).toBe('first');
});
//this fails
it('input with id "second" should be focussed after tabbing', function() {
simulateTab();
expect(document.activeElement.getAttribute('id')).toBe('second');
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2254 次 |
| 最近记录: |