Primeros pasos con el flujo de especificaciones

Configuración de Specflow

Pre -Requisito:

Descargar el IDE de Visual Studio

  1. Crear un nuevo proyecto

  2. Instale la integración de Specflow Visual Studio, el adaptador Nunit y el marco Nunit

ingrese la descripción de la imagen aquí

  1. Descargue el flujo de especificaciones para Visual Studio como se muestra a continuación

ingrese la descripción de la imagen aquí

Una búsqueda simple en Google usando Specflow

Este es un ejemplo simple para buscar en Google. Contiene dos partes,

  1. Archivo de características
  2. Archivo de definición de pasos

No voy a entrar en muchos detalles aquí ya que el código en sí mismo se explica por sí mismo.

Archivo de funciones

Feature:Google  Key word search

@mytag

Scenario: search Spec Flow in Google search bar
Given I have entered the Google Home page
And I have entered spec flow into google search bar
When I press search button
Then the result should be a new pages with results for spec flow

Archivo de definición de pasos

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System;
using TechTalk.SpecFlow;
using static NUnit.Core.NUnitFramework;

namespace GoogleSearch.GoogleSearch
{
    [Binding]
    public class GoogleKeyWordSearchSteps
    {
          IWebDriver driver = new FirefoxDriver();
        [Given(@"I have entered the Google Home page")]
        public void GivenIHaveEnteredTheGoogleHomePage()
        {
            driver.Navigate().GoToUrl("https://www.google.co.nz");
        }
        
        [Given(@"I have entered spec flow into google search bar")]
        public void GivenIHaveEnteredSpecFlowIntoGoogleSearchBar()
        {
        driver.FindElement(By.XPath("/html/body/div/div[3]/form/div[2]/div[2]/div[1]/div[1]/div[3]/div/div[3]/div/input[1]")).SendKeys("Spec Flow");
        }
        
        [When(@"I press search button")]
        public void WhenIPressSearchButton()
        {
        driver.FindElement(By.XPath("/html/body/div/div[3]/form/div[2]/div[3]/center/input[1]")).Click();
        }
        
        [Then(@"the result should be a new pages with results for spec flow")]
        public void ThenTheResultShouldBeANewPagesWithResultsForSpecFlow()
        {
            //  Assert.AreEqual("Google", driver.Title);
        }
    }
}