Comments (6)
Thank you for submitting an issue! We greatly appreciate it. We will follow up as soon as we can.
from botmation.
After pinning to 3.0.4 your tests are passing again. Downgrade this dependency 📌.
from botmation.
- The
dependency
puppeteer was updated from3.1.0
to3.2.0
.
Your tests are still failing with this version. Compare changes
Release Notes for v3.2.0
Highlights
-
We now support emulating vision deficiency types within Puppeteer using
page.emulateVisionDeficiency
. You can read more about these on the DevTools update blog post. -
We now use Mitt as the Event Emitter that backs many of Puppeteer's classes rather than the EventEmitter module that ships with Node. This is potentially a breaking change if you rely on some of the less popular EventEmitter methods as Puppeteer's EventEmitter does not support the entire suite of NodeJS EventEmitter functions. We think it's unlikely anyone has relied on these; we were able to swap out the EventEmitter in Puppeteer without any unit tests needing to change.
-
Puppeteer now recognises webviews as regular pages which means you can control them just like you would control a regular page.
Behind the scenes
- The
Request
class has been renamed toHTTPRequest
to avoid a clash with TypeScript'sRequest
type. We'll be making similar changes toResponse
andWorker
. This is not a breaking change as Puppeteer doesn't directly expose these classes so you shouldn't be referring to them by name in your code.
Raw Notes
1d4d25a - chore: use Mitt as the Event Emitter (#5907)
a2ba6f0 - feat: recognize webviews as regular pages (#5905)
8e8a9df - chore: rename Request class to HTTPRequest (#5934)
9737059 - chore: remove doclint generate_types code (#5932)
7eab7f8 - feat(api): add page.emulateVisionDeficiency(type) (#5901)
24ac11e - chore: fix undefined rm
in mocha-utils (#5920)
6cfe142 - chore: don't use expect within Promises (#5466) (#5473)
dfb2e60 - chore: stop Protocol types being globally available (#5899)
d8e0557 - chore: update Travis to run latest macOS and fix HTTPS test (#5903)
9a08d31 - chore: error if coverage couldn't find the given class (#5863)
caaf4d2 - fix: support async functions as an argument for waitForFunction (#5682)
e6c22da - chore: bump version to v3.1.0-post (#5884)
Commits
The new version differs by 13 commits.
88b5265
chore: mark version v3.2.0 (#5937)
1d4d25a
Use Mitt as the Event Emitter (#5907)
a2ba6f0
feat: recognize webviews as regular pages (#5905)
8e8a9df
chore: rename Request class to HTTPRequest (#5934)
9737059
chore: remove doclint generate_types code (#5932)
7eab7f8
feat(api): add page.emulateVisionDeficiency(type) (#5901)
24ac11e
chore: fix undefined
rm
in mocha-utils (#5920)6cfe142
Don't use expect within Promises (#5466) (#5473)
dfb2e60
chore: stop Protocol types being globally available (#5899)
d8e0557
chore: update Travis to run latest macOS and fix HTTPS test (#5903)
9a08d31
chore: error if coverage couldn't find the given class (#5863)
caaf4d2
fix: support async functions as an argument for waitForFunction (#5682)
e6c22da
chore: bump version to v3.1.0-post (#5884)
See the full diff
from botmation.
- The
dependency
puppeteer was updated from3.2.0
to3.3.0
.
Your tests are still failing with this version. Compare changes
Release Notes for v3.3.0
Highlights
- The migration from Node's EventEmitter to the Mitt library has been reverted in this release. We're sorry for causing unexpected issues in the 3.2.0 release. If you were unable to upgrade from 3.1.0 to 3.2.0, you will be able to upgrade straight to 3.3.0 and not have any issues.
Behind the scenes
- The Puppeteer
Response
class was renamedHTTPResponse
to avoid a clash with the TSResponse
type. We don't expose this class on the main Puppeteer instance so this shouldn't affect any of your code. - Similarly we have renamed
Worker
toWebWorker
to avoid a clash with the TSWorker
type.
Raw Notes
34c0f9b - chore: mark version v3.3.0
309d811 - chore: Revert Mitt due to breaking changes (#5952)
81e3248 - chore: Defer Windows FF tests for longer (#5954)
b874cac - chore: rename Worker to WebWorker (#5941)
7862484 - chore: update request and response references in docs (#5942)
232def0 - chore: rename Response
to HTTPResponse
(#5940)
cfd72ac - chore: bump version to v3.2.0-post (#5938)
Commits
The new version differs by 7 commits.
e84e579
chore: mark version v3.3.0 (#5959)
309d811
chore: Revert Mitt due to breaking changes (#5952)
81e3248
chore: Defer Windows FF tests for longer (#5954)
b874cac
chore: rename Worker to WebWorker (#5941)
7862484
chore: update request and response references in docs (#5942)
232def0
chore: rename
Response
toHTTPResponse
(#5940)cfd72ac
chore: bump version to v3.2.0-post (#5938)
See the full diff
from botmation.
Maybe try out the PR at jest-puppeteer
for keeping the page/tab open via config, fork it, then understand it/clean it up/tie up loose ends, then try it out as a means to stabilize e2e testing with later Puppeteer versions
Much tbd
edit:
maybe try out puppeteer-cluster
as it has an approach towards parallelizing puppeteer tests 🎯
edit2:
probably majority of tests don't actually use a puppeteer page but a mock object so could potentially replace jest-puppeteer
for something that mixes puppeteer-cluster
for tests that do use an actual page... could require a large code refactor, but could organize tests that use a page
into test-suites with hooks that setup the page for the tests, perhaps clustering them
from botmation.
I've tested Botmation with newer Puppeteer versions with no problems, but the e2e tests seem to grow more unstable as more are added and the errors are all very similar, race conditions for things in the page
when the page
no longer exists? Strange
from botmation.
Related Issues (20)
- Build/Package size HOT 1
- Helper Function: Handle Cascading Implicit Dependency HOT 1
- Randomize HOT 3
- Upgrade pipeRunner typing HOT 3
- Reduce Code with Nullish Coalescing
- Improve code by replacing silent errors HOT 1
- CI: tests + coverage
- rename errors() to catchError() HOT 3
- goToPipeValue
- elementExists HOT 1
- Scrapers error out on not finding element by selector HOT 1
- textExists HOT 1
- clickText HOT 1
- Files()() HOT 1
- API / Bot communication HOT 2
- break down saveCookies - saveToDisk concept
- Instagram viewStories "Live" edge-case
- Prettier
- Dynamic Wait HOT 3
- Combine repos (docs + this)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from botmation.