Introduction

Welcome to the first Puppeteer Sharp monthly digest. I hope this is the first of many to come. As this is the first digest, I need to explain the current status and the roadmap I have planned.

Current status

Turning that first test green is harder than it sounds. The first test is about browsing a page while ignoring HTTPS errors. But before browsing a page we need to create a browser process; start a WebSocket; implement messaging between puppeteer-sharp; among other things.

So, the current status is: I’m almost there. The first test is green!

Puppeteer Sharp is now able to:

  • Start a chromium process.
  • Start a WebSocket.
  • Send/Receive messages using that WebSocket.
  • Load a FrameManager.
  • Load an EmulationManager.
  • Build a response.
  • Close the browser gracefully.

Roadmap

Getting to all the 523 tests Puppeteer has, will be a long and fun journey. So, this will be the roadmap for Puppeteer Sharp 1.0:

0.1 First Minimum Viable Product

The first 0.1 will include:

  • Browser download
  • Basic browser operations: create a browser, a page and navigate a page.
  • Take screenshots.
  • Print to PDF.

0.2 Repository cleanup

This version won’t include a new version. It will be about improving the repository:

  • Setup CI.
  • Create basic documentation (Readme, contributing, code of conduct).

0.3 Puppeteer

It will implement all Puppeteer related tests

0.4 Page

It will implement all Page tests except the ones testing the evaluate method. As this will be quite a big version, I think we will publish many 0.3.X versions before 0.4.

0.5 Frames

It will implement all Frame tests.

0.6 Simple interactions

It will implement all the test related to setting values to inputs and clicking on elements.

0.X Intermediate versions

At this point, We will have implemented most features, except the ones which are javascript related. I believe there will be many versions between 0.6 and 1.0.

1.0 Puppeteer the world!

The 1.0 version will have all (or most) Puppeteer features implemented. I don’t know if we’ll be able to cover 100% of Puppeteer features, due to differences between both technologies, but we’ll do our best.

Progress

Let’s talk about hard numbers. These numbers don’t sound exciting now, but I hope we can see them grow month after month.

  • Tests on Google’s Puppeteer: 523
  • Tests on Puppeteer Sharp: 1
  • Passing tests: 1

I know, this sounds pretty lame, but we will get there.

Activity

If we talk about user activity, these are the hard numbers:

  • Repository Stars: 11.
  • Repository Forks: 2.
  • Nuget downloads: 114.

Wrapping up

If you want to contribute to this project you are welcome! I won’t accept code contributions to the library before version 0.3 because the code is still taking shape, and because I will create the contributing document in version 0.2. However, you are welcome to start writing tests. We have 523 tests to code! If you are interested, reach out to me on twitter, or by email.