Coder Social home page Coder Social logo

made-apps / legerity-uno Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 1.0 52.04 MB

An extension framework to Legerity for speeding up the development of automated UI tests for Uno Platform applications with Appium/Selenium on .NET

Home Page: https://made-apps.github.io/legerity-uno/

License: MIT License

PowerShell 0.82% C# 99.18%
android appium ios selenium ui-testing uno-platform uwp xamarin

legerity-uno's People

Contributors

dependabot[bot] avatar jamesmcroft avatar sasakrsmanovic avatar tom-made avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

sasakrsmanovic

legerity-uno's Issues

[Feature] Visual Studio extension or project template for creating new Legerity UI test project

Describe the feature

Fairly simple. There should be an extension for Visual Studio or a project template that allows a new Legerity UI test project to be created within a solution.

Should come with the latest versions of the packages installed, and an expected folder structure.

If possible, it would be great for it to be able to generate page objects too but this may be out of scope depending on what we can do.

Rationale for the feature

Make it easier to adopt Legerity for Uno Platform

Scope of the feature

Must - Be able to create a new Legerity UI test project from Visual Studio in a solution
Must - Setup the base Legerity framework to make it easier to get started with UI testing with Uno Platform
Should - Be install the latest NuGet packages if possible
Should - Create a standard folder structure for pages, elements, tests
Could - Create initial page objects for the associated Uno Platform project if it exists

Open questions

No response

Other information

No response

[Feature] Ability to interact with Pivot elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform Pivot element.

There should be properties for getting the pivot items, selected pivot, as well as an action for selecting a pivot item by its name.

Platforms

  • iOS
  • Android
  • WebAssembly

[Feature] Ability to interact with CommandBar elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform CommandBar element.

There should be properties to retrieve the primary and secondary buttons, as well as actions for clicking a primary or secondary button by its name.

Platforms

  • iOS
  • Android
  • WebAssembly [Done]

[Feature] Ability to interact with AppBarButton elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform AppBarButton element.

There should simply be the capability to click the button.

Platforms

  • iOS [Done]
  • Android [Done]
  • WebAssembly [Done]

[Feature] Page object generator for Uno Platform XAML pages

Describe the feature

We did something similar with the original Legerity page object generator that we could potentially reused and pull in here as a dotnet command line tool (or similar) for generating page objects for an Uno Platform app.

Rationale for the feature

Make it easier to quickly get up and running with page objects for Uno Platform XAML.

Scope of the feature

Must - Capture as many interactable UI elements as possible based on known attributes to XAML
Must - Use out-of-the-box element wrappers where possible
Must - Accept a folder as an input, and traverse the folders tree for XAML pages
Must - Accept a folder as an output for the generated page objects

Open questions

No response

Other information

No response

[Feature] Ability to interact with CheckBox elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform CheckBox element.

There should be properties to assert the checked status of the element, as well as actions to check the box on and off.

Platforms

  • iOS
  • Android [Done]
  • WebAssembly [Done]

[Feature] Ability to interact with AppBarToggleButton elements

Describe the feature and how it will be used

Introduce the ability to interact with the AppBarToggleButton element.

There should be properties to assert the toggled on or off state, as well as actions for toggling on and off.

Platforms

  • iOS
  • Android
  • WebAssembly [Done]

[Feature] Ability to interact with Slider elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform Slider element.

There should be properties for retrieving the min and max values, the step change, and the value, as well as an action for setting the value.

Platforms

  • iOS
  • Android
  • WebAssembly

[Feature] Ability to interact with PasswordBox elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform PasswordBox element.

There should be properties for interacting with the reveal password button, getting the value, as well as actions for setting the value, appending to the value, and clearing the value.

Recommended to build this on top of the TextBox element.

Platforms

  • iOS
  • Android
  • WebAssembly

[Feature] Ability to interact with ProgressBar elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform ProgressBar element.

There should be properties for retrieving the percentage value and whether it's in an indeterminate state.

Platforms

  • iOS
  • Android
  • WebAssembly

[Bug] Generated page objects contain `using Shouldly;`

Describe the bug

Shouldly is not a dependency of the Legerity Uno library and shouldn't be contained in the template used to generate page objects.

What is the expected behavior?

Shouldly should not be included in the generated objects.

Platform

Other (please specify)

Other information

No response

[Feature] Ability to interact with ComboBox elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform ComboBox element.

There should be properties to assert the selected item, as well as actions for selecting an item.

Platforms

  • iOS
  • Android [Done]
  • WebAssembly [Done]

[Feature] Ability to interact with AutoSuggestBox elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform AutoSuggestBox element.

There should be properties to assert the text input, the ability to interact with the suggestions pop up and text box, as well as actions for setting the text and selecting a suggestion.

Platforms

  • iOS
  • Android
  • WebAssembly

[Feature] Ability to interact with RadioButton elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform RadioButton element.

There should be properties for whether a button is selected, as well as an action for selecting the option.

Platforms

  • iOS
  • Android
  • WebAssembly

[Feature] Ability to interact with ListView elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform ListView element.

There should be properties for retrieving the items, the selected item, as well as an action for selecting a specific item by its name.

Platforms

  • iOS
  • Android
  • WebAssembly

[Feature] Ability to interact with DatePicker elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform DatePicker element.

There should simple be an action for setting the date.

Platforms

  • iOS
  • Android
  • WebAssembly [Done]

[Feature] Ability to interact with GridView elements

Describe the feature and how it will be used

Introduce the ability to interact with the Uno Platform GridView element.

There should be properties for retrieving the items, the selected item, as well as an action for selecting a specific item by its name.

Platforms

  • iOS
  • Android
  • WebAssembly

[Bug] Can't determine readonly state for Android/iOS TextBox

Describe the bug

Currently, it's not possible to determine the readonly state of an Android or iOS TextBox controls.

The controls are in a readonly state, but the reported elements in Appium are in an enabled state.

What is the expected behavior?

TextBox should report readonly state

Platform

Other (please specify)

Other information

Android and iOS

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.