Giter Site home page Giter Site logo

jdi-testing / jdi-light-csharp Goto Github PK

View Code? Open in Web Editor NEW
4.0 47.0 8.0 1.49 MB

Powerful Framework for UI Automation Testing on C#

Home Page: https://jdi-docs.github.io/jdi-light/

License: MIT License

C# 99.46% PowerShell 0.54%
testing testing-tools testing-framework automation test-automation selenium ui-automation jdi jdi-light predictable-tests

jdi-light-csharp's Introduction

Build Status Build status codecov Coverage Status Codacy Badge CodeFactor FOSSA Status

JDI Light (.NET)

Powerful Framework for UI Automation Testing on C#

Documentation

Can be found here

Introduction

JDI – is the test Framework for UI test automation that helps to makes your tests fast and sustainable and provide obvious and predictable test run result

Highlights

  • Has simple integration with any Selenium based project that allows to increase projects stability, add user actions logs and enrich standard WebElements capabilities with new features in minutes
  • Extends Page Objects pattern with powerful UI Elements: Buttons, TextFields, Forms, Tables etc
  • Write stable and predictable tests that fail only because of changing business logic or layout. No more waits, thread sleep and other flaky staff
  • Increase your tests execution speed in general and especially for complex cases like search in big tables, dropdowns with hundreds elements or enter text with thousand lines
  • Get detailed logs and good reports of all user actions with no effort
  • Easy integration with all modern Automation tools

License

MIT License is used for this project.

FOSSA Status

jdi-light-csharp's People

Contributors

alexeygirin avatar anna-belemenko-epam avatar anna-belemenko17 avatar annadreval avatar dmitrievdmitrii avatar elv1s42 avatar fossabot avatar nemo1463 avatar perikl avatar pkair avatar pnatashap avatar romaniovlev avatar tsvetaevalex avatar v3rde avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

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

jdi-light-csharp's Issues

Fix 3 Style issues in JDI.Light\JDI.Light.Core\Selenium\Elements\Complex\Table\Table.cs

CodeFactor found multiple issues:

The code must not contain multiple blank lines in a row.

[JDI.Light\JDI.Light.Core\Selenium\Elements\Complex\Table\Table.cs:238
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/Selenium/Elements/Complex/Table/Table.cs#L238)[JDI.Light\JDI.Light.Core\Selenium\Elements\Complex\Table\Table.cs:281
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/Selenium/Elements/Complex/Table/Table.cs#L281)[JDI.Light\JDI.Light.Core\Selenium\Elements\Complex\Table\Table.cs:354
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/Selenium/Elements/Complex/Table/Table.cs#L354)

Fix 13 Style issues in JDI.Light\JDI.Light.Core\BaseElement.cs

CodeFactor found multiple issues:

A closing curly bracket must not be preceded by a blank line.

[JDI.Light\JDI.Light.Core\BaseElement.cs:159
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L159)

The code must not contain multiple blank lines in a row.

[JDI.Light\JDI.Light.Core\BaseElement.cs:52
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L52)[JDI.Light\JDI.Light.Core\BaseElement.cs:89
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L89)[JDI.Light\JDI.Light.Core\BaseElement.cs:106
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L106)[JDI.Light\JDI.Light.Core\BaseElement.cs:107
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L107)[JDI.Light\JDI.Light.Core\BaseElement.cs:153
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L153)

Invalid spacing around the semicolon.

[JDI.Light\JDI.Light.Core\BaseElement.cs:82
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L82)[JDI.Light\JDI.Light.Core\BaseElement.cs:92
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L92)[JDI.Light\JDI.Light.Core\BaseElement.cs:103
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L103)[JDI.Light\JDI.Light.Core\BaseElement.cs:140
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L140)[JDI.Light\JDI.Light.Core\BaseElement.cs:145
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L145)[JDI.Light\JDI.Light.Core\BaseElement.cs:150
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L150)[JDI.Light\JDI.Light.Core\BaseElement.cs:156
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.Core/BaseElement.cs#L156)

Dropdowns

  • selector
  • multiple selector
  • dropdown
  • datalist

Smart locators

Search elements without FindBy attribute (Id by default).
Set up an ability to customize rules of searching elements.

Syncronize MenuTests in CSharp and Java

Syncronize MenuTests in CSharp and Java using Java as the reference.

  1. Number of tests should be the same
  2. The approach should be the same (i.e. no locators should be used in tests)
  3. Synchronize documentation

JDI Light template: Row()

Implement Row() method in Table.cs for finding a particular row in a table that contains several cells with some values in particular columns.

Fix 10 Style issues in JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs

CodeFactor found multiple issues:

The code must not contain multiple blank lines in a row.

[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:40
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L40)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:48
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L48)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:56
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L56)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:63
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L63)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:70
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L70)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:77
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L77)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:84
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L84)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:92
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L92)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:99
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L99)[JDI.Light\JDI.Light.UIWebTests\Tests\Complex\DropdownExpandedTests.cs:132
](https://www.codefactor.io/repository/github/jdi-testing/jdi-light-csharp/source/feature jdi-csharp-refactoring/JDI.Light/JDI.Light.UIWebTests/Tests/Complex/DropdownExpandedTests.cs#L132)

Alerts

Deal with default alerts:

  • get text
  • accept
  • dismiss
    ...

Azure

Set up Azure Pipelines CI

Aspect-oriented base methods

  1. Investigate possibility to implement
  2. Implement simple aspect
  3. Add basic usage:
  • retry
  • logging
  • indentify new page if possible (optional)

Implement MultiDropdown control.

Please implement MultiDropdown control in JDI.Light. But as I see, this hasn't been implemented in Java solution, just there is an interface for this without any content described.

Second batch with feature request

List of features:

  1. URL in constructor for a particular page;
  2. Better exception logging (with init method call) - empty constructor for memorizing;
  3. Make it possible to use dynamic url for pages;
  4. Make it possible to use dynamic locators for uielements;
  5. List support for uielements.

CheckList

  • interface ICheckList
  • class CheckList

Small feature requests

  1. Rename JDI class to Jdi (to be able to use the static class without static import);
  2. Add WebDriver property to the JDI class;
  3. Add JS executor property to JDI class;
  4. Make it's possible to set Domain dynamically;
  5. Add support for relative urls;
  6. Avoid stale element exception (catch appropriate exceptions).

Table improvements

Create generic table:

  1. new Attribute - partially moved to #238
  2. asserts - moved to #80
  3. generic table
  4. synchronise base table with Java version (review tests) - partially moved to #238
  5. Cache mechanism implementation - moved to #95
    Definition of done:
  6. Test coverage for .NET and Java version should be the same.
  7. Execution time for both - Java and .Net should be almost the same (and fast)

Fix tests

Fix all existing tests - they should be green

File Input

  • element logic
  • file assertion logic (size, location, name etc.)

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.