Comments (5)
Just switched from jest
to @playwright/test
when updating RetroLab in jupyterlab/retrolab#167 (retrolab has been using plain playwright and not galata, yet).
The setup and code is much simpler and feels less convoluted. Also as mentioned above fixtures would also be great to have in galata.
from galata.
Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! 🤗
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively.
You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! 👋
Welcome to the Jupyter community! 🎉
from galata.
Thanks @fcollonval for opening this.
Embrace playwright test runner
Historically and for more context, Galata switched from using puppeteer
to playwright
in #11. The diff was relatively small since both frameworks have almost the same API.
If we decide to go full playwright from now on, then I think it would indeed make sense to embrace more of the existing tooling 👍
from galata.
Sure, this is a good idea. We currently customize test
and describe
methods of jest for some bookkeeping (https://github.com/jupyterlab/galata/blob/main/packages/galata/src/galata.ts#L43-L73) we will need to make sure we can do similar with playwright/test. It might even have a better way to access current test name and other test info.
from galata.
test
is definitely meant to be overridden as this is the way to define fixture; doc example:
// example.spec.ts
import { test as base } from '@playwright/test';
import { TodoPage } from './todo-page';
// Extend basic test by providing a "table" fixture.
const test = base.extend<{ todoPage: TodoPage }>({
todoPage: async ({ page }, use) => {
const todoPage = new TodoPage(page);
await todoPage.goto();
await todoPage.addToDo('item1');
await todoPage.addToDo('item2');
await use(todoPage);
await todoPage.removeAll();
},
});
test('should add an item', async ({ todoPage }) => {
await todoPage.addToDo('my item');
// ...
});
test('should remove an item', async ({ todoPage }) => {
await todoPage.remove('item1');
// ...
});
from galata.
Related Issues (20)
- Rename the default branch to main HOT 1
- Galata appears to not work with JupyterLab 3.0.9 HOT 1
- --update-references could maybe create the reference directory HOT 2
- Add theme option HOT 1
- Rendering artifacts lead to false positive HOT 3
- Create RELEASE.md
- Allow for custom tab bar ids HOT 1
- More robust way to move items to the left area HOT 2
- Switch from npm to yarn (or jlpm) for development
- Update the JupyterLab version
- Automate releases HOT 3
- Format with ESLint and Prettier HOT 1
- Toggling simple mode should wait for switch animation to end HOT 1
- Can't connect to WS after launching separate headless chrome instance HOT 10
- notebook.createNew should wait for rename properly HOT 1
- Improve Image Diff viewer in result report HOT 4
- Support for alternate JupyterLab distributions
- Fix top-level version in `package.json` for the releaser HOT 1
- Archive the repository HOT 7
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 galata.