Coder Social home page Coder Social logo

Comments (5)

jtpio avatar jtpio commented on June 19, 2024 1

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.

welcome avatar welcome commented on June 19, 2024

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.
welcome
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.

jtpio avatar jtpio commented on June 19, 2024

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.

mbektas avatar mbektas commented on June 19, 2024

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.

fcollonval avatar fcollonval commented on June 19, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.