Andrey Lushnikov
42edc3108a
[emulation] fix touch emulation
...
This patch:
- fixes touch emulation
- adds tests to cover basic Page.emulate
References #88 .
2017-07-20 12:22:34 -07:00
Andrey Lushnikov
4af0911b90
Use more good flags to run chrome instance.
...
The switches are mostly borrowed from chromedriver launching code.
2017-07-20 12:20:10 -07:00
Andrey Lushnikov
a981594b1d
Revert node's scrolling into view in page.click()
...
This change was not intentional in e33a8f818c
2017-07-20 00:53:14 -07:00
Andrey Lushnikov
e33a8f818c
Support HEADLESS env variable for unit tests
...
This patch makes it possible to run unit tests in non-headless
mode with the following command:
```
HEADLESS=false npm run unit
```
2017-07-19 19:36:22 -07:00
Andrey Lushnikov
a63a0198de
Implement waitFor which survives navigation ( #99 )
...
This patch implements page.waitFor method which survives navigation.
References #89 .
2017-07-19 19:04:51 -07:00
JoelEinbinder
2fb1d9afca
Fix comments on WebPage.js ( #97 )
...
This patch fixes bad indentation in WebPage comments
2017-07-19 14:44:47 -07:00
JoelEinbinder
febd747c5b
Inroduce page.press ( #96 )
...
This patch:
- introduces page.press() method
- adds more input tests
References #89
2017-07-19 14:43:07 -07:00
JoelEinbinder
71f8c76f04
Rename keyboard.hold and release to up and down ( #95 )
...
References #89
2017-07-19 14:27:01 -07:00
Andrey Lushnikov
21af495b65
Move screenshot task chain in Browser
...
Currently, it's impossible to do screenshots in parallel.
This patch:
- makes all screenshot tasks sequential inside one browser
- starts activating target before taking screenshot
- adds a test to make sure it's possible to take screenshots across
tabs
- starts waiting for a proper page closing after each test. This might
finally solve the ECONNRESET issues in tests.
References #89
2017-07-19 14:15:16 -07:00
Andrey Lushnikov
2e94f9f67b
Resolve pending callbacks when connection closes
...
This patch:
- resolves pending callbacks in connection once it gets closed
- fixes one of Page.screenshot() tests to wait for all the screenshots
- starts handling ECONNRESET error in test server to avoid throwing with no
good reason
2017-07-19 01:00:02 -07:00
Andrey Lushnikov
40c66d1f2a
Roll chromium to r487285
2017-07-19 00:23:23 -07:00
Andrey Lushnikov
55acae40fd
Introduce DEBUG module which traces public API calls
...
This patch improves on DEBUG module to trace all puppeteer's
public API calls.
References #89 .
2017-07-18 21:06:03 -07:00
Pavel Feldman
f154d537f7
Introduce page.goBack/page.goForward ( #93 )
...
This patch introduces page.goBack/page.goForward methods
to navigate the page history.
References #89 .
2017-07-18 19:11:37 -07:00
Pavel Feldman
98c3894c84
Introduce Page.waitForNavigation ( #94 )
...
This patch introduces Page.waitForNavigation which allows to wait
for render-initiated navigation.
This patch also does a nice refactoring, replacing Navigator with NavigatorWatcher which
is not a part of a page state.
References #89
2017-07-18 18:54:24 -07:00
Pavel Feldman
bef9982687
Simplify waitFor code ( #92 )
2017-07-18 12:16:19 -07:00
dgozman
5ca92ffb71
Getting started run instructions
2017-07-18 11:13:29 -07:00
JoelEinbinder
28265fc313
Fix frame.waitFor to work with complex selectors ( #90 )
...
The frame.waitFor didn't account for multi-level selectors.
This patch fixes this, executing document.querySelector on every DOM mutation.
2017-07-18 02:10:02 -07:00
Andrey Lushnikov
6c1c3a0c45
Return remote object description for unserializable objects
...
This patch starts handling unserializable objects by returning their
description.
Fixes #86 .
2017-07-18 01:34:43 -07:00
Andrey Lushnikov
72b7e50f9e
[phantom_shim] implement deprecated frame switching api
2017-07-17 21:04:09 -07:00
Andrey Lushnikov
2ca08b032b
Rename Page's 'consolemessage' event into 'console'
...
This patch:
- renames 'consolemessage' event into 'console'
- improves on 'console' event documentation
References #39 .
2017-07-17 20:38:11 -07:00
Andrey Lushnikov
1a97d8b3c2
Teach 'consolemessage' event to send all the arguments
...
This patch fixes 'consolemessage' event so that it passes
over all the arguments of console API call.
2017-07-17 20:22:45 -07:00
JoelEinbinder
117a128b42
Introduce Page.$ and Page.$$ ( #75 )
...
This patch introduces Page.$ and Page.$$ methods which are
aliases for `document.querySelector` and `document.querySelectorAll`.
Fixes #78 .
2017-07-17 18:56:56 -07:00
JoelEinbinder
bf7698e8f8
Intorduce Page.keyboard ( #74 )
...
Introduce page.keyboard to provide low-level access to the keyboard.
2017-07-17 18:49:52 -07:00
Pavel Feldman
895f69d17a
Add emulation for named devices. ( #72 )
...
This patch introduces page emulation, making it possible to emulate different devices.
2017-07-17 18:13:04 -07:00
Andrey Lushnikov
0414dfa98b
Introduce DEBUG module
...
This patch re-introduces the DEBUG module to expose some of
the puppeteer's internals.
Currently, only the protocol message communication is exposed under
the 'puppeteer:protocol' namespace.
2017-07-17 15:15:07 -07:00
Pavel Feldman
4581ada210
Roll chromium to r486981. ( #87 )
...
This patch rolls chromium to r486981 and prepares
for the introduction of device emulation.
2017-07-17 12:15:06 -07:00
Andrey Lushnikov
9eb46d613d
[doc] add examples for Dialog and Frame classes
2017-07-17 11:02:13 -07:00
Andrey Lushnikov
b2d2bf822a
Rename Page.printToPDF into page.pdf
...
This patch:
- renames Page.printToPDF into page.pdf
- adds a 'path' option to the page.pdf options instead of a separate
`filePath` parameter
- improves on the documentation for the `page.pdf`
References #39 .
2017-07-17 10:37:33 -07:00
Andrey Lushnikov
3b5dbe2308
[doclint] be more permissive with syntax
...
This patch adds a helpful message if the 'returns' statement is somehow
mistyped.
References #14 .
2017-07-15 10:22:07 -07:00
Andrey Lushnikov
6eac22dd87
[doclint] lint events
...
This patch:
- adds event linting to the doclint
- improves `api.md` to add events and more information about
classes reported by events.
References #14 .
2017-07-14 23:52:13 -07:00
Aleksey
ac75455983
Fixed page.waitFor ( #81 )
...
The original implementation didn't account for frames.
2017-07-14 15:55:38 -07:00
Andrey Lushnikov
560b817d7f
Make page.url() return URL synchronously.
...
page.url() is just a shortcut to page.mainFrame().url().
References #39 .
2017-07-14 14:05:27 -07:00
Andrey Lushnikov
34a96a8462
Rename navigation option 'waitFor' into 'waitUntil'.
...
This patch renames navigation option 'waitFor' into 'waitUntil' to
avoid confusion with 'page.waitFor' call.
References #39 .
2017-07-14 13:59:36 -07:00
Andrey Lushnikov
76415e1be5
[doc] distinct naming for functions which are evaluated in page context
...
This patch renames all the function parameters which are executed in
page context into 'pageFunction'.
2017-07-14 13:51:22 -07:00
Andrey Lushnikov
235001bab3
[doclint] validate return statements
...
This patch teaches doclint to validate presence of return statements.
It also adds a bunch of documentation to the api.md.
References #14 .
2017-07-14 13:04:15 -07:00
JoelEinbinder
21a722b3f8
update package lock ( #79 )
2017-07-14 11:38:08 -07:00
Andrey Lushnikov
67d109862a
[doclint] parse getters as properties
...
From the api standpoint, there's no difference between property
and a getter.
References #14 .
2017-07-13 23:12:38 -07:00
Andrey Lushnikov
45c20c7dad
[doclint] introduce class members
...
This patch unifies Documentation.Method with Documentation.Property,
making it possible to verify sorting order across methods and
properties.
References #14 .
2017-07-13 23:02:43 -07:00
Andrey Lushnikov
880575c71d
[README] page.setSize should be page.setViewportSize
...
Fixes #77 .
2017-07-13 21:47:48 -07:00
JoelEinbinder
4bd855c66b
Use getBoundingClientRect instead of DOM.BoxModel ( #76 )
...
This patch re-implements `page.click()` and `page.focus()` using
`page.evaluate`
2017-07-13 18:32:34 -07:00
Andrey Lushnikov
56619baa64
[doclint] simplify error reporting
...
This patch simplifies error reporting, making it straight-forward.
It also adds a few tests to make doclint more robust.
2017-07-13 15:52:49 -07:00
Andrey Lushnikov
c468c451c5
[doclint] move doclint testing to golden
...
This patch:
- move doclint testing to golden
- refactor doclint/lint.js to drop specs and everything
2017-07-13 11:17:02 -07:00
Andrey Lushnikov
9b2e9ce6ca
Make test/golden-utils.js reusable
...
This patch makes test/golden-utils.js configurable with
output directory and the golden directory.
The plan is to reuse golden-utils for doclint tests.
2017-07-13 10:07:24 -07:00
Andrey Lushnikov
d99031ba46
[doclint] Move doclint under utils/
...
This patch:
- moves doclint under utils/ folder
- adds tests to verify doclint basic functionality
This patch also drops the jasmine as a spec runner for the doclint
checks. It turned out it's hard to customize jasmine's behavior,
so instead this patch implements a dummy spec runner.
The dummy spec runner allows us:
- to format messages however we want (the custom jasmine reporter would
also allow us to do this)
- to avoid `beforeAll` functions which pollute global to pass
initialized variables over to specs
References #14
2017-07-13 00:28:52 -07:00
Andrey Lushnikov
64ebcdba9f
Do not close readline after reading remote debugging port
...
Closing readline interface results in closing underlying
stream. We don't want this.
2017-07-12 19:15:21 -07:00
Andrey Lushnikov
b3d38a1b8d
[Downloader] Fix Downloader.downloadedRevisions methods
...
The methods should take into account that there's no downloads
folder.
This was broken in 20fb1f6b9b
2017-07-12 14:54:48 -07:00
Andrey Lushnikov
20fb1f6b9b
[Downloader] Remove previous chromium revisions after roll
...
Currently, after the chromium was rolled to a new revision, the
previsious revision is kept downloaded in the puppeteer folder.
Since every revision is ~70Mb, it quickly piles up.
This patch removes previous downloaded chromium revisions after
a new one is successfully installed.
2017-07-12 14:48:42 -07:00
Andrey Lushnikov
38e6f53cc7
[doclint] add linting for class properties
...
This patch:
- adds linting for class properties
- adds documentation for the missing class properties
References #14 .
2017-07-12 09:45:08 -07:00
Andrey Lushnikov
60621b8815
Fix Click unit tests on Mac OS X
...
This patch brings screenDPI back in clicking equation, which was
regressed in afb096cfd7
.
2017-07-11 22:35:22 -07:00
Aleksey
b77ae4b77c
Properly cleanup FrameManager._frameIdToExecutionContextId. ( #73 )
2017-07-11 21:52:09 -07:00