Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contributing Galata (JupyterLab UI Testing & Automation Framework) #77

Closed
mbektas opened this issue Jul 16, 2020 · 20 comments
Closed

Contributing Galata (JupyterLab UI Testing & Automation Framework) #77

mbektas opened this issue Jul 16, 2020 · 20 comments

Comments

@mbektas
Copy link
Member

mbektas commented Jul 16, 2020

Hi everyone, on June 17th I had presented Galata at weekly dev meeting and there was very positive feedback from core developers. We as Bloomberg are interested in contributing this project to JupyterLab organization, and continue helping its development. We are ready to switch the repo over. What are the next steps in this process? Please let us know.

A brief overview of Galata:

Galata is a UI testing and automation framework custom built for JupyterLab.

  • uses headless Chrome to launch JupyterLab
  • uses puppeteer to interact with browser
  • comes with a high level API to interact with JupyterLab UI effortlessly
  • provides testing, capturing and comparison tools
  • comes with a built-in HTML report generator for test results
  • comes with a built-in http server to serve test reports
  • comes with a command line interface to manage tests, configuration and many other tasks

Main use cases

  • Visual regression testing of JupyterLab UI components, notebook widget rendering
  • Automating end-to-end UI testing
  • Automating notebook execution for output capture & inspect
@choldgraf
Copy link

whoah! that's awesome! I tend to use the UI testing framework of "demo it locally and then close my eyes and send it to production what's the worst that could happen?" This sounds more rigorous than that :-)

@blink1073
Copy link
Member

Fantastic, thanks @mbektasbbg! The steps are outlined in our Readme

@ellisonbg
Copy link
Contributor

ellisonbg commented Jul 16, 2020 via email

@bollwyvl
Copy link

bollwyvl commented Jul 16, 2020 via email

@krassowski
Copy link
Member

Is there a repo for Galata to learn more? Or is it closed-source at the moment?

@mbektas
Copy link
Member Author

mbektas commented Jul 16, 2020

Fantastic, thanks @mbektasbbg! The steps are outlined in our Readme

Thanks @blink1073 , will check it out.

@mbektas
Copy link
Member Author

mbektas commented Jul 16, 2020

Is there a repo for Galata to learn more? Or is it closed-source at the moment?

yes @krassowski, it is closed-source at the moment.

@mbektas
Copy link
Member Author

mbektas commented Jul 16, 2020

I'd be remiss to not mention robot framework here: https://robotframework.org

@bollwyvl thanks for sharing about robot, I will look into it. I need to learn more about robot to provide proper comparison but Galata's main advantage over it would be the deep and low level interaction with JupyterLab since it is custom-built for JupyterLab.

@SylvainCorlay
Copy link
Member

I would love it to be elected as a Jupyter subproject.

@mbektas
Copy link
Member Author

mbektas commented Feb 24, 2021

Hi everyone, over the past few months I have made several enhancements and fixes to Galata and got it compatible with JupyterLab 3. @jtpio also made contributions and has been reviewing it. I think it is ready to be moved over to jupyterlab org and published for wider audience and feedback now!

@jtpio
Copy link
Member

jtpio commented Feb 26, 2021

Thanks @mbektasbbg for pushing on this!

I've checked galata over the past weeks and it looks really great. It would be very useful to make it an official subproject, so JupyterLab itself could use it to do end to end and visual regression testing.

So I think we should move forward with making it open source. Then it will be easier to iterate on it and accept contributions from the community. Maybe there could be a quick demo at the next JupyterLab dev meeting? Or be discussed as part of the 4.0 roadmap.

@jtpio
Copy link
Member

jtpio commented Feb 26, 2021

As a side note, this could even become a more general tool to script and generate screencasts for the documentation: jupyterlab/jupyterlab#8776 (comment).

@krassowski
Copy link
Member

Is it possible to checkout galata now, or is it still private/hidden?

@mbektas
Copy link
Member Author

mbektas commented Feb 26, 2021

Is it possible to checkout galata now, or is it still private/hidden?

@krassowski it is private at the moment. I will send you invitation.

@krassowski
Copy link
Member

Thanks, got it. From a very quick overview it looks like a lightweight alternative to robotframework approach. I think that both have their advantages. I would be interested to see in action. Definitely worth discussing at a dev meeting.

@mbektas
Copy link
Member Author

mbektas commented Mar 3, 2021

Here is a screencast of Galata in action.

screencast

@jtpio
Copy link
Member

jtpio commented Mar 4, 2021

During the JupyterLab dev meeting yesterday, it was decided to wait one more week before moving forward with this. So that anyone would get a chance to check it out if they would like to.

The repo is still private, but don't hesitate to comment here if you would like to get access. Thanks!

@blink1073
Copy link
Member

We've met the criteria for adoption, @mbektasbbg please feel free to proceed with the transfer.

@mbektas
Copy link
Member Author

mbektas commented Mar 8, 2021

Thanks @blink1073 , I will do!

@jtpio
Copy link
Member

jtpio commented Mar 9, 2021

Closing since galata has now been moved to the jupyterlab organization: https://github.com/jupyterlab/galata

Thanks all!

@jtpio jtpio closed this as completed Mar 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants