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

Testing API for Taipy GUI #1716

Open
1 of 2 tasks
ShootingStarD opened this issue Aug 28, 2024 · 3 comments
Open
1 of 2 tasks

Testing API for Taipy GUI #1716

ShootingStarD opened this issue Aug 28, 2024 · 3 comments
Labels
💬 Discussion Requires some discussion and decision 📄 Documentation Internal or public documentation ✨New feature 🟨 Priority: Medium Not blocking but should be addressed 🔒 Staff only Can only be assigned to the Taipy R&D team

Comments

@ShootingStarD
Copy link

Description

Taipy is a very nice GUI lib to make dashboard. One way to make it even more useful in a real production environment would be to build a testing API similar to the one of streamlit.

One application would be that in my project, I change a function that is both used for page 1 and page 2, the change is successful for page_2 but not page_1 (and I don't really want to make manually tests each time my app grows)

Solution Proposed

I do not really know how it could be implemented but basically having some function to simulate the app and the action possible to make in the app

Impact of Solution

No response

Additional Context

No response

Acceptance Criteria

No response

Code of Conduct

  • I have checked the existing issues.
  • I am willing to work on this issue (optional)
@FlorianJacta
Copy link
Member

This seems interesting; thank you for the issue!

@jrobinAV jrobinAV added 📄 Documentation Internal or public documentation 🟨 Priority: Medium Not blocking but should be addressed 💬 Discussion Requires some discussion and decision 🔒 Staff only Can only be assigned to the Taipy R&D team labels Aug 30, 2024
@FabienLelaquais
Copy link
Member

FabienLelaquais commented Aug 30, 2024

Hi @ShootingStarD.
And thank you for your input.

Your question is really relevant. However, I'm not sure how to address that: we have tons of automated tests in the library itself, involving pure backend testing, or tests on rendering, checks on communications (like was a callback invoked should some user event happen?), styling... and so on.
All those tests are based on public packages such as pytest or playwright.

The one thing I can think of is creating a Testing section in the User documentation to explain how to perform a given test, with what tools.
In your opinion, would that suffice?

Thanks again

@ShootingStarD
Copy link
Author

I

Hi @ShootingStarD. And thank you for your input.

Your question is really relevant. However, I'm not sure how to address that: we have tons of automated tests in the library itself, involving pure backend testing, or tests on rendering, checks on communications (like was a callback invoked should some user event happen?), styling... and so on. All those tests are based on public packages such as pytest or playwright.

The one thing I can think of is creating a Testing section in the User documentation to explain how to perform a given test, with what tools. In your opinion, would that suffice?

Thanks again

I suppose a Testing section in the User Doc for the GUI manual would already be very nice.
My first idea was to for example, be able to have a function that takes a Gui instance as input and be able to apply action such as clicking on button with id=x and be able to assert the state of a variable, check that an element is visible or not anymore etc

But once again, a testing section would be good enough!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💬 Discussion Requires some discussion and decision 📄 Documentation Internal or public documentation ✨New feature 🟨 Priority: Medium Not blocking but should be addressed 🔒 Staff only Can only be assigned to the Taipy R&D team
Projects
None yet
Development

No branches or pull requests

7 participants
@ShootingStarD @FabienLelaquais @jrobinAV @FlorianJacta and others