[Feature]: BDD and Test Engine Example
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- csharp
- Domaine
- testing-qa
Piste de recherche
Commencez par examiner les API existantes TestEngine, TestSettings et ExecuteAndReturn, puis comparez l’exemple Gherkin SpecFlow/Reqnroll demandé avec le flux de test actuel du dépôt. Définissez l’intégration du package NuGet et le comportement requis des étapes ; le travail est terminé lorsque l’exemple peut exécuter le scénario de connexion présenté via le Test Engine.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Is your feature request related to a problem? Please describe.
Would like to create BDD style test using Power App Test Engine
Describe the solution you'd like
Create a Gherkin test using Specflow/Reqnroll.
For example as Specflow test something similar to
Feature: Login
Scenario: Successful login
Given the user profile "user1" navigates power app named "MyTest"
Then the user should be redirected to the dashboard
Exend Test Engine as a NuGet package and extend the ability
using TechTalk.SpecFlow;
using Microsoft.PowerApps.TestEngine;
namespace SpecflowPowerAppsExample
{
[Binding]
public class LoginSteps
{
private readonly TestEngine _testEngine;
public LoginSteps()
{
_testEngine = new TestEngine();
}
[Given(@"the user profile ""(.*)"" navigates power app named ""(.*)""")]
public void GivenTheUserProfileNavigatesPowerAppNamed(string userProfile, string appName)
{
_testEngine.TestSettings.Profile = userProfile1;
_testEngine.TestSettings.AppName = appName;
}
[Then(@"the user should be redirected to the dashboard")]
public void ThenTheUserShouldBeRedirectedToTheDashboard()
{
var powerFxSteps = new List<string>
{
"Set(CurrentPage, 'Dashboard')",
"Validate(CurrentPage == 'Dashboard')"
};
foreach (var step in powerFxSteps)
{
var result = _testEngine.ExecuteAndReturn(step);
Assert.IsTrue(result.Contains("true"), $"Step '{step}' failed.");
}
}
}
}
Describe alternatives you've considered
No response
Additional context?
No response
- Langage dominant
- C#
- Étoiles
- 151
- Forks
- 55
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Facepunch/sbox-public#12305 ·
Les mainteneurs répondent en général sous 5 jours
-
分享 JVC DVD+RW 4.7G (铼德代工) 实测标定预设Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
JiaFeiMiao-K-Cat/DiscImageStudio#205 ·
Les mainteneurs répondent en général sous 1 jour
-
bug keep-fresh
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Flow-Launcher/Flow.Launcher#4744 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
flyingpie/windows-terminal-quake#419 ·
Les mainteneurs répondent en général sous 1 jour
-
Show the per-model weekly limitOuverteenhancement help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100