Skip to content

[Feature] Tool/script that takes screen shots of a bunch of different controls in conexts and configrations ( aka scenes?). #4094

@Rosuavio

Description

@Rosuavio

Describe the problem this feature would solve

As a maintainer, I want a way to quickly see the visual appearance of all the controls so that I can check for visual issues that are hard to find or catch threw automation.

Describe the solution

Add a script or tool in the repository that can be easily run ( maybe a cake script), that will initialize controls in as many relevant UI contexts as possible (In a window/ScrollViewe/Fullscreen/different container sizes?), with as many configurations of the control as possible, and take screen shots of every of every combination.

We can call these combinations Scenes.

The script can be run and once it is complete the screen shots of the Scenes would cover more UI scenarios per controls than any reviewer normally would "clicking around" and "trying things" and they can be viewed more quickly.

We would want to avoid having to manually write code describing these Scenes as it would be hard to have a lot of coverage and we would have to maintain every Scene we write.

We could use a combination of different methods to get Scenes. Listed from most preferred to least preferred.

  1. Generate Scenes
  2. Use samples from the sample app
  3. Write Scenes

We can choose to generate screen shots of the all or some of the Scenes in CI at different events (on commit in a PR, on merge, etc) or we can simply leave it as a tool in the repo.

Describe alternatives you've considered

  1. Write a script that runs the sample app and pokes around in there while taking screen shots.
  2. Add an option to take screen shots in the UITests and the Unit tests that render controls on a window.

Additional context & Screenshots

#4092 (comment)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions