diff --git a/QA.md b/QA.md
index 0b1422b..38c3196 100644
--- a/QA.md
+++ b/QA.md
@@ -27,7 +27,6 @@ The behaviors of the console are tested in [Console section](#consoles).
#### Navigation
-- [ ] H, L: go back and forward in history
- [ ] [[, ]]: Open next/prev link in `` tags.
- [ ] [[, ]]: find prev and next links and open it
diff --git a/e2e/contents/navigate.test.js b/e2e/contents/navigate.test.js
index 518c3e3..3b34785 100644
--- a/e2e/contents/navigate.test.js
+++ b/e2e/contents/navigate.test.js
@@ -60,4 +60,30 @@ describe("navigate test", () => {
expect(tab.url).to.be.equal(SERVER_URL + '/');
});
});
+
+ it('goes back and forward in history', () => {
+ let targetTab;
+ return tabs.create(targetWindow.id, SERVER_URL + '/#navigate').then((tab) => {
+ targetTab = tab;
+ return keys.press(targetTab.id, 'g');
+ }).then(() => {
+ return keys.press(targetTab.id, 'u');
+ }).then(() => {
+ return keys.press(targetTab.id, 'H', { shiftKey: true });
+ }).then(() => {
+ return new Promise(resolve => { setTimeout(() => resolve(), 2000) });
+ }).then(() => {
+ return tabs.get(targetTab.id);
+ }).then((tab) => {
+ expect(tab.url, 'go back in history').to.be.equal(SERVER_URL + '/#navigate');
+ }).then(() => {
+ return new Promise(resolve => { setTimeout(() => resolve(), 2000) });
+ }).then(() => {
+ return keys.press(targetTab.id, 'L', { shiftKey: true });
+ }).then(() => {
+ return tabs.get(targetTab.id);
+ }).then((tab) => {
+ expect(tab.url, 'go next in history').to.be.equal(SERVER_URL + '/#');
+ });
+ });
});