Giter VIP home page Giter VIP logo

michal-turzynski / crm.specflow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mvermaat/crm.specflow

0.0 1.0 0.0 5.26 MB

D365 Extension for SpecFlow allows you to automatically test your Dynamics 365 CE implementation. It provides a broad set of SpecFlow steps to help you create your scripts very rapidly. It leverages the EasyRepro library from Microsoft for the User Interface related tests.

License: GNU Lesser General Public License v3.0

C# 62.74% Gherkin 6.28% Batchfile 0.14% PowerShell 30.13% JavaScript 0.42% XSLT 0.29%

crm.specflow's Introduction

Dynamics 365 CE Extension for SpecFlow

Do you want to test your Dynamics 365 CE implementation automatically, but do you think it is hard to do and very complex to implement? There are several exisiting technologies available to implement this like SpecFlow and EasyRepro. SpecFlow gives you the means to create test scenarios without writing any code. EasyRepro provides a set of functions to automatically work with Dynamics 365 CE. I combined both of these technologies into a solution so you can create test scenarios for Dynamics 365 CE without writing any code.

Detailed documentation can be found in the Wiki.

Features

Below is an overview of all features. The framework is extensible, so you can easily ass your own functionality. I'm happy to include useful functionality in the framework. If you have any, feel free to create pull requests.

One scenario, multiple targets

You only need to write your script once and run that same scripts on multiple browsers and/or the Dynamics CE API

Use display names instead of schema names

You can use display names of attributes instead of schema names to make you scenarios easier to write and understand

Multiple tab support

When entering data on a form, it will automatically determine the tab the field is on and switch tabs if needed

Unified Data Type input

You specify your Date(time) format in your test project and the framework automatically figures out how this relates to the user's timezone and adapts the inputs and assertions. The same goes for decimal numbers. Invariant input is used for SpecFlow, but it will be entered in the form based on user settings.

Creation of related records

Next to creating new standalone records, you can also created records that are related to another. Like pressing the 'Add New' on a subgrid or associated view.

Wait for background processes

You can wait until background processes are finished. Very usefull when you want to test functionality that runs asynchonously

Varied assertions

You can do all sorts of assertions like:

  • Specific records has specific data
  • A record exists with specified data
  • Specific record has a set of related records
  • Form state (required, read-only, visibility)
  • Find specific error messages
  • Find specific ribbon buttons
  • Find specific form notifications

Several entity specific actions

  • Lead Qualification
  • Closing Opportunities
  • Conversion from quotes to orders

API connection support

You use both Username/Password and ClientSecret authentication for API connections

Multi user support

You can login with other users by writing a simple extension

NuGet packages

Two nuget packages are available.

Vermaat.Crm.Specflow (Branch: master) Vermaat.Crm.Specflow.Legacy (Branch: Legacy)

The legacy package is used for the old web interface and will only recieve minimal updates. It is recommended to use the unified interface with the regular client.

Supported browsers

Currently supported browsers are: Chrome, Firefox, Internet Explorer and Edge. The support is solely based on EasyRepro (https://github.com/Microsoft/EasyRepro). Read more there for extra information

crm.specflow's People

Contributors

mike9182 avatar mvermaat avatar rfontijn avatar thathi avatar

Watchers

 avatar

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.