Selenium Tutorial de C#: Framework NUnit com Exemplo

⚡ Resumo Inteligente

Selenium O WebDriver controla os navegadores a partir do C# através da interface IWebDriver, enquanto o NUnit fornece os atributos de teste, as asserções e os relatórios do Test Explorer que transformam essas etapas do navegador em testes automatizados repetíveis.

  • 🔘 Conjunto de ferramentas: Visual Studio mais o Selenium WebDriver, NUnit e Adaptador de Teste NUnit NuGet pacotes.
  • ☑️ Configuração do projeto: O tipo de saída deve ser Biblioteca de Classes, e não Aplicativo de Console, caso contrário a compilação falhará.
  • ✅ Atributos do NUnit: SetUp abre o navegador, Test executa as ações e TearDown o fecha.
  • 🧪 Grupos de comando: Comandos do navegador, comandos de WebElement e comandos de lista suspensa via SelectElement.
  • 🛠️ Localizadores: O método FindElement aceita estratégias de seleção XPath e CSS para cada interação com elementos.
  • ⚡ Execução: O Test Explorer executa a classe e reporta cada resultado como aprovado ou reprovado.

Selenium Automação em C# com o framework de testes NUnit

Selenium Visão geral

Selenium é uma web de código aberto Teste de automação ferramenta que suporta múltiplos navegadores e múltiplos sistemas operacionais. Ela permite que os testadores usem múltiplas linguagens de programação como Java, C#, PythonRuby, PHP e Perl para codificar testes automatizados. Se você é novo na ferramenta, comece com o Selenium tutorial e WebDriver versus Selenium Comparação RC.

Selenium Fornece o controle do navegador; a linguagem que você usa para controlá-lo fornece a estrutura.

Visão geral do C#

C# é uma linguagem de programação orientada a objetos derivada de C++ e JavaO C# permite que os desenvolvedores criem aplicativos usando o Visual Studio na plataforma .NET. A seguir, estão os principais recursos do C#. C#.

  1. É uma linguagem de programação orientada a objetos
  2. Ele suporta o desenvolvimento de aplicativos baseados em console, Windows e web
  3. Ele fornece recursos como encapsulamento, herança e polimorfismo.

Antes da fiação Selenium Isso ajuda a reconhecer a estrutura de um programa C# simples.

Sintaxe Básica de C#

Um programa em C# precisa conter as seguintes seções.

  1. Declaração de namespace
  2. Classes
  3. Atributos e métodos de classe
  4. Método principal
  5. declarações do programa

Exemplo-

Abaixo está um exemplo Selenium Programa de exemplo em C# para imprimir o texto 'Guru99' no console do sistema.

using System;
namespace FirstProgram {
class DemoPrint {
static void main(){
    Console.WriteLine("Guru99");
	}
  }
}

Explicação:

  • Um namespace acima Selenium O exemplo C# é uma coleção de várias classes. Cada namespace deve ser declarado usando a palavra-chave 'using'.
  • A primeira instrução do código inclui o namespace 'System' em nosso programa. O namespace do sistema define as classes e eventos fundamentais usados ​​em C#. O namespace a ser usado depende dos requisitos do programa.
  • A segunda instrução declara um namespace “FirstProgram” para a classe “DemoPrint”. O arquivo AC# pode conter várias classes no mesmo namespace.
  • A terceira instrução inclui a declaração de classe. Uma classe pode conter vários atributos e vários métodos.
  • A quarta instrução inclui uma declaração do método Main. O método principal é o ponto de entrada de execução de cada classe.
  • A última instrução é a sintaxe C# usada para imprimir uma instrução no console. WriteLine é um método do Console classe. Observe que o ponto de entrada é escrito Main com M maiúsculo em Dó sustenido real; o minúsculo main O exemplo acima não será reconhecido como um ponto de entrada.

Com a sintaxe clara, a próxima tarefa é instalar as ferramentas que compilam e executam esses testes.

Selenium com configuração C#

Como configurar o Visual Studio com Selenium WebDriver:

Agora neste Selenium Tutorial C#, vamos aprender o processo passo a passo para configurar o Visual Studio com Selenium WebDriver:

O Visual Studio é um Ambiente de Desenvolvimento Integrado (IDE) usado por desenvolvedores para criar aplicativos em várias plataformas, como Windows, Android, iOS e aplicativos baseados em nuvem.

Passo 1) Navegue até a URL

https://visualstudio.microsoft.com/downloads/ e clique no 'Download grátis' botão exibido na guia Comunidade do Visual Studio

Página de downloads do Visual Studio com o botão de download gratuito da edição Community.

Passo 2) Abra o exe baixado. Clique em 'Sim' se forem solicitados direitos de administrador.

O instalador do Visual Studio está solicitando direitos de administrador.

Passo 3) O pop-up abaixo aparecerá. Clique no botão 'Continuar'.

Janela pop-up de boas-vindas do instalador do Visual Studio com o botão Continuar

Os arquivos serão baixados conforme mostrado no pop-up abaixo.

Instalador do Visual Studio baixando os arquivos de componentes

Passo 4) Na próxima tela,

Marque as caixas de seleção para

  • Universal Windows Desenvolvimento de plataforma
  • Desenvolvimento de desktop .NET

Clique em 'Instalar'.

Tela de carga de trabalho do Visual Studio com Universal Windows Plataforma e desenvolvimento de desktop .NET marcados como concluídos

Aguarde a conclusão da instalação de cada componente. Os arquivos têm 16 GB e levarão algum tempo.

Barra de progresso do instalador do Visual Studio para cada componente selecionado.

Passo 5) O pop-up abaixo será exibido. Clique no botão 'Reiniciar'.

O instalador do Visual Studio está solicitando a reinicialização do computador.

Passo 6) Assim que a máquina for reiniciada, pesquise “Visual Studio” no menu iniciar e clique no resultado da pesquisa. O seguinte pop-up aparecerá. Clique no link “Agora não, talvez mais tarde” se você não tiver uma conta existente.

Janela pop-up de login do Visual Studio com o link "Agora não, talvez mais tarde"

Passo 7) Na próxima tela,

  • Selecione o tema de cor de sua preferência
  • Clique no botão “Iniciar o Visual Studio”.

Tela inicial do Visual Studio para escolher um tema de cores.

Passo 8) A tela 'Introdução' do Visual Studio será exibida.

Tela de Introdução do Visual Studio após a conclusão da instalação.

Crie um novo projeto no Visual Studio:

Passo 1) No menu Arquivo, clique em Novo > Projeto

Menu Arquivo do Visual Studio com Novo e Projeto selecionados

Passo 2) Na próxima tela,

  1. Selecione a opção 'Visual C#'
  2. Clique no aplicativo de console (.Net Framework)
  3. Digite o nome como “Guru99"
  4. clique em OK

Diálogo de Novo Projeto com o aplicativo de console Visual C# e o projeto chamado Guru99

Passo 3) A tela abaixo será exibida assim que o projeto for criado com sucesso.

Editor do Visual Studio mostrando o recém-criado Guruprojeto de console 99

Configurar o Visual Studio com Selenium WebDriver:

Passo 1) Navegue até Ferramentas -> NuGet Gerenciador de pacotes -> Gerenciar NuGet Pacotes para solução

Caminho do menu Ferramentas para NuGet Gerenciador de Pacotes e Gerenciamento de NuGet Pacotes para solução

Passo 2) Na próxima tela

  1. Procurar por Selenium na tela resultante
  2. Selecione o primeiro resultado da pesquisa
  3. Marque a caixa de seleção do projeto
  4. Clique em 'Instalar'

NuGet gerenciador de pacotes com o Selenium resultado da pesquisa e caixa de seleção do projeto marcadas

Passo 3) Clique no botão 'OK' na tela pop-up

NuGet janela pop-up de confirmação antes do Selenium O pacote está instalado.

Passo 4) A mensagem abaixo será exibida assim que o pacote for instalado com sucesso.

NuGet saída confirmando Selenium WebDriver instalado com sucesso

Selenium Agora é possível abrir um navegador, mas ainda não é possível informar se um teste foi aprovado. Essa é a função de um framework de testes unitários.

Estrutura NUnit: Visão Geral

NUnit é o Teste de Unidade estrutura suportada pelo Visual Studio e Selenium WebDriver. O NUnit é a estrutura de testes unitários mais utilizada para aplicações .NET. O NUnit apresenta os resultados dos testes em um formato legível e permite que o testador depure os testes automatizados.

Para utilizá-lo, precisamos instalar o NUnit Framework e o NUnit Test Adapter no Visual Studio.

Etapas para instalar o NUnit Framework

Agora neste Selenium com tutorial C#, vamos aprender o processo de instalação do framework NUnit:

Passo 1) Navegue até Ferramentas -> NuGet Gerenciador de pacotes -> Gerenciar NuGet Pacotes para solução

O menu Ferramentas foi reaberto em NuGet Gerenciador de pacotes para a instalação do NUnit

Passo 2) Na próxima janela

  1. Procure por NUnit
  2. Selecione o resultado da pesquisa
  3. Selecionar projeto
  4. Clique em Instalar

NuGet gerenciador de pacotes com o resultado da pesquisa NUnit selecionado para instalação

Passo 3) O pop-up abaixo aparecerá. Clique no botão 'Ok'.

NuGet Uma janela pop-up de confirmação é exibida antes da instalação do framework NUnit.

Passo 4) A mensagem abaixo aparecerá assim que a instalação for concluída.

NuGet Mensagem confirmando a conclusão da instalação do framework NUnit.

Etapas para baixar o adaptador de teste NUnit

Agora, neste tutorial do NUnit, abordaremos as etapas para baixar o NUnit Test Adapter:

Observe que as etapas abaixo funcionam apenas para máquinas de 32 bits. Para máquinas de 64 bits, você precisa baixar o 'NUnit3 Test Adapter' seguindo o mesmo processo mencionado abaixo.

Pacotes atuais: um projeto moderno instala Adaptador de teste NUnit3 Juntamente com Microsoft.NET.Test.Sdke o mais velho Adaptador de teste NUnit O pacote não recebe mais manutenção. No .NET (Core), todo o projeto pode ser estruturado com dotnet new nunit, que adiciona todos os três pacotes para você.

Passo 1) Navegue até Ferramentas ->NuGet Gerenciador de pacotes -> Gerenciar NuGet Pacotes para solução. Nessa tela,

  1. Pesquisar NUnitTestAdapter
  2. Clique em Resultado da pesquisa
  3. Selecionar projeto
  4. Clique em Instalar

NuGet O gerenciador de pacotes está procurando por NUnitTestAdapter com o projeto selecionado.

Passo 2) Clique em OK no pop-up de confirmação. Assim que a instalação estiver concluída, você verá a seguinte mensagem-

NuGet Mensagem confirmando a conclusão da instalação do adaptador de teste NUnit.

Ambas as metades estão instaladas, então o próximo passo é uni-las em uma única classe de teste.

Selenium e estrutura NUnit

A integração do Selenium com a estrutura NUnit permite que um testador diferencie entre várias classes de teste. O NUnit também permite que os testadores usem anotações como SetUp, Test e TearDown para executar ações antes e depois da execução do teste.

A estrutura NUnit pode ser integrada com Selenium Criando uma classe de teste NUnit e executando-a usando o framework NUnit. Java O equivalente a esse padrão é abordado em JUnit tutorial de estruturaE a alternativa .NET ao NUnit dentro do Visual Studio é discutida em conjunto. TestNG pela Selenium.

Abaixo das etapas neste Selenium O tutorial da estrutura C# é necessário para criar e executar uma classe de teste usando a estrutura NUnit.

Etapas para criar uma classe de teste NUnit em Selenium:

Passo 1) No Explorador de Soluções, clique com o botão direito do mouse no projeto > Adicionar > Classe

Menu de contexto do Solution Explorer com Adicionar e Classe selecionados

Passo 2) A janela de criação de classe aparecerá.

  1. Forneça um nome para a classe
  2. Clique no botão Adicionar

A caixa de diálogo "Adicionar novo item" é usada para nomear a nova classe de teste NUnit.

Passo 3) A tela abaixo aparecerá.

Arquivo de classe C# vazio criado no editor do Visual Studio.

Passo 4) Adicione o seguinte código à classe criada. Observe que você precisa especificar o local do arquivo 'chromedriver.exe' durante a inicialização do driver do Chrome. Selenium 4.6 e versões posteriores do navio Selenium Manager, que resolve automaticamente o driver correspondente, então new ChromeDriver() A forma atual é sem argumento de caminho — o caminho abaixo é mantido porque corresponde às capturas de tela.

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class Guru99Demo						
    {
        IWebDriver driver;

        [SetUp]
		public void startBrowser()
        {
            driver = new ChromeDriver("D:\\3rdparty\\chrome");
        }

        [Test]
		public void test()
        {
            driver.Url = "http://www.google.co.in";
        }

        [TearDown]
		public void closeBrowser()
        {
            driver.Close();
        }

    }
}

Passo 4) Clique em 'Construir' -> 'Construir Solução'

Menu "Compilar" com a opção "Compilar solução" selecionada no Visual Studio.

OBSERVAÇÃO: Você pode receber um erro como “Não contém um método 'principal' estático adequado para um ponto de entrada” ao construir

Erro de compilação: nenhum método main estático adequado para um ponto de entrada.

Para resolver isso, acesse Projeto > Propriedades e altere o Tipo de Saída para “Biblioteca de Classes”. O padrão é “Aplicativo de Console”.

Propriedades do projeto com o tipo de saída alterado para Biblioteca de Classes

Passo 5) Assim que a construção for bem-sucedida, precisamos abrir a janela Test Explorer. Clique em Teste -> Windows -> Explorador de Testes

Caminho do menu de teste para Windows e Explorador de Testes

Passo 6) A janela Test Explorer é aberta com a lista de testes disponíveis. Clique com o botão direito em Test Explorer e selecione Executar testes selecionados

O Explorador de Testes lista os testes disponíveis com a opção Executar Testes Selecionados.

Passo 7) Selenium deve abrir o navegador com o especificado URL e feche o navegador. O status do caso de teste será alterado para 'Aprovado' na janela do Explorador de Testes.

O Test Explorer mostra o resultado do teste NUnit marcado como aprovado.

Um teste aprovado comprova que o sistema de encanamento funciona. A seguir, apresentamos o vocabulário que você usará na elaboração das provas.

Selenium Comandos WebDriver em C#

C# usa a interface 'IWebDriver' para interações do navegador. A seguir estão as categorias de comandos disponíveis com Selenium em C #.

  1. Comandos do navegador
  2. Comandos do Elemento Web
  3. Comandos suspensos

Agora neste Selenium Tutorial de C#, vamos estudar o Selenium O WebDriver executa comandos um por um. Java As contrapartes são demonstradas neste primeiro script WebDriver passo a passo.

Os comandos abaixo ainda são os atuais. IWebDriver superfície em Selenium 4, portanto a sintaxe permanece inalterada.

Comandos do navegador:

A seguir está uma lista de comandos do navegador disponíveis em C# com Selenium.

Nome do Comando Descrição Sintaxe
Comando Url Este comando é usado para abrir um arquivo especificado. URL no navegador.
driver.Url = "https://www.guru99.com"
Comando de título Este comando é usado para recuperar o título da página da web que está aberta no momento
String title = driver.Title
Comando PageSource Este comando é usado para recuperar o código-fonte da página da web que está aberta no momento.
String pageSource = driver.PageSource
Comando Fechar Este comando é usado para fechar a instância do navegador aberta recentemente.
driver.Close();
Sair do comando Este comando é usado para fechar todas as instâncias abertas do navegador
driver.Quit();
Comando Voltar Este comando é usado para navegar para a página anterior do histórico do navegador.
driver.Navigate().Back();
Comando de avanço Este comando é usado para navegar para a próxima página do histórico do navegador.
driver.Navigate().Forward()
Comando Atualizar Este comando é usado para realizar a atualização do navegador.
driver.Navigate().Refresh()

Os comandos do navegador atuam na janela; o próximo grupo atua no conteúdo da janela.

Comandos de elementos da Web

Um WebElement representa qualquer elemento em uma página da web. Eles são representados por tags HTML. Botões, caixas de texto, links, imagens, tabelas e frames são todos WebElements. OperaAs ações nesses elementos são desencadeadas por meio de IWebElement interface. Para interagir com um WebElement, primeiro Encontre o elemento na página e, em seguida, realizar uma operação nela. As estratégias disponíveis são abordadas em localizadores em SeleniumAs ferramentas de desenvolvedor do navegador — ou os antigos complementos Firebug e Firepath, que as capturas de tela abaixo não abrangem — podem ser usadas para identificar o XPath de um WebElement.

A seguir, estão os comandos WebElement disponíveis em C#.

Nome do Comando Descrição Sintaxe
Clique no comando Este comando é usado para clicar em um Webelement. Para que o elemento seja clicável, ele deve estar visível na página da web. Este comando também é usado para operações de caixas de seleção e botões de opção.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.Click();
Comando limpar Este comando é usado especificamente para limpar o conteúdo existente das caixas de texto.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.Clear();
Comando EnviarChaves Este comando é usado para inserir um valor em caixas de texto. O valor a ser inserido deve ser passado como parâmetro para
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.SendKeys("guru99");
Comando exibido Este comando é usado para identificar se um elemento específico é exibido na página web. Este comando retorna um valor booleano; verdadeiro ou falso dependendo da visibilidade do elemento da web.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Displayed;
Comando habilitado Este comando é usado para identificar se um determinado elemento da web está habilitado na página da web. Este comando retorna um valor booleano; verdadeiro ou falso como resultado.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Enabled;
Comando selecionado Este comando é usado para identificar se um determinado elemento da web está selecionado. Ele funciona com caixas de seleção, botões de opção e operações de seleção.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Selected;
Enviar comando: Este comando é semelhante ao comando clicar. A diferença está em saber se o formulário HTML possui um botão do tipo Enviar. Enquanto o comando click clica em qualquer botão, o comando submit clica apenas nos botões com o tipo submit.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.submit();
Comando de texto Este comando retorna o texto interno de um Webelement. Este comando retorna um valor de string como resultado.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String text=element.Text;
Comando NomeTag Este comando retorna a tag HTML de um elemento da web. Ele retorna um valor de string como resultado.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  String tagName = element.TagName;
Comando GetCSSValue: Este método é usado para retornar a cor de um elemento da web na forma de uma string rgba (vermelho, verde, azul e alfa).
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String color = element.getCSSValue;

saída– Se a cor do elemento for vermelha, a saída seria rgba(255,0,0,1)

Nota sobre as amostras acima: A tabela reproduz a sintaxe original. No presente Selenium .NET: os membros são escritos em PascalCase — element.Submit() e element.GetCssValue("color") - E GetCssValue Recebe o nome da propriedade CSS como argumento.

Comandos suspensos:

As operações suspensas em C# podem ser realizadas usando a classe SelectElement.

A seguir estão as várias operações suspensas disponíveis em C#.

Nome do Comando Descrição Sintaxe
Comando SelecionarPorTexto Este comando seleciona uma opção de um menu suspenso com base no texto da opção.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
Comando SelectByIndex Este comando é usado para selecionar uma opção com base em seu índice. O índice do menu suspenso começa em 0.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
Comando SelecionarPorValor Este comando é usado para selecionar uma opção com base em seu valor de opção.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
Comando de opções Este comando é usado para recuperar a lista de opções exibidas em um menu suspenso.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
List<IWebelement> options = select. Options;
int size = options.Count;
for(int i=0;i<options.size();i++)
{
String value = size.elementAt(i).Text;
Console.writeLine(value);
}

O código acima imprime todas as opções no console em um menu suspenso.

Comando IsMultiple Este comando é usado para identificar se uma lista suspensa é de seleção múltipla; uma lista suspensa de seleção múltipla permite que o usuário escolha mais de uma opção por vez. Este comando retorna um valor booleano.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
Comando Desselecionar tudo Este comando é usado em menus suspensos de seleção múltipla. Limpa as opções que já foram selecionadas.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectAll();
Comando DeSelectByIndex Este comando desmarca um valor já selecionado usando seu índice.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
Comando DeSelectByValue Este comando desmarca um valor já selecionado usando seu valor.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
Comando DeSelectByText Este comando desmarca um valor já selecionado usando seu texto.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");

Os quatro scripts abaixo executam os comandos acima contra o Guru99 sites de demonstração. Cada um deles é uma classe de teste NUnit completa e executável.

Code amostras

Exemplo 1: Clique em um link usando o Localizador XPATH:

Cenário de teste:

  1. Acesse a demonstração. Guru99 páginas da web – https://demo.guru99.com/test/guru99home/
  2. Maximize a janela
  3. Clique no menu 'Teste'
  4. Feche o navegador
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("D:\\3rdparty\\chrome");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();
            IWebelement link = m_driver.FindElement(By.XPath(".//*[@id='rt-header']//div[2]/div/ul/li[2]/a"));
            link.Click();
            m_driver.Close();
        }
    }
}

Exemplo 2: Inserindo dados em TextoBox e clique em um botão usando o localizador XPATH:

Cenário de teste:

  1. Navegue até a GuruPágina de demonstração 99 – https://demo.guru99.com/test/guru99home/
  2. Insira os dados na caixa de texto do e-mail
  3. Clique no botão de inscrição
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

             
			// Store locator values of email text box and sign up button				
            IWebElement emailTextBox = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-email']"));
            IWebElement signUpButton = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-submit']"));

            emailTextBox.SendKeys("test123@gmail.com");
            signUpButton.Click();
                        
        }
    }
}			

Exemplo 3: Inserindo dados em TextoBox e clique em um botão usando o localizador CSS:

Cenário de teste:

  1. Navegue até a GuruPágina de demonstração 99 – https://demo.guru99.com/test/guru99home/
  2. Insira os dados na caixa de texto do e-mail
  3. Clique no botão de inscrição
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

             
			// Store locator values of email text box and sign up button				
            IWebElement emailTextBox = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-email]"));
            IWebElement signUpButton = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-submit]"));

            emailTextBox.SendKeys("test123@gmail.com");
            signUpButton.Click();

             
        }
    }
}

Exemplo 4: Selecione um valor no menu suspenso:

Cenário de teste:

  1. Navegue até a GuruPágina de demonstração 99 – https://demo.guru99.com/test/guru99home/
  2. Clique em SAP link
  3. Insira dados nas caixas de texto de nome e e-mail
  4. Selecione um valor no menu suspenso Curso
  5. Feche o navegador
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;


namespace Guru99Demo
{
	class TestSelect						
    {
        IWebDriver m_driver;

        [Test]
		public void selectDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

            IWebElement course = m_driver.FindElement(By.XPath(".//*[@id='awf_field-91977689']"));

			var selectTest = new SelectElement(course);
			// Select a value from the dropdown				
            selectTest.SelectByValue("sap-abap");
                        
        }
    }
}

Perguntas Frequentes

Uso Selenium.WebDriver 4.x com NUnit 3.14 ou NUnit 4, além de NUnit3TestAdapter e MicrosoftO NUnit 4 é compatível com o .NET Framework 4.6.2 ou .NET 6 e versões posteriores, portanto, verifique a versão de destino do seu projeto antes de atualizar os pacotes mostrados acima.

Não. Selenium 4.6 introduzido Selenium O gerenciador baixa e associa o driver do navegador em tempo de execução. Passar uma pasta de drivers para o construtor do ChromeDriver ainda funciona, mas só é necessário quando você precisa fixar uma versão específica do driver.

Uma espera implícita aplica um único tempo limite a cada busca de elemento durante toda a vida útil da instância de IWebDriver. Uma espera explícita tem como alvo um elemento e uma condição específicos, como clicável ou visível, portanto, falha mais rapidamente e descreve a intenção com mais precisão.

Sim. Marque o assembly com Parallelizable e o NUnit executará os fixtures simultaneamente. Cada teste deve possuir sua própria instância de IWebDriver, portanto, crie o driver em SetUp em vez de compartilhar um campo estático; caso contrário, os testes paralelos entrarão em conflito no mesmo navegador.

NUnit e MSTest usam atributos e agrupam testes com TestFixture ou TestClass. O xUnit não precisa de atributo de classe e foi projetado com foco em paralelismo. Os três são executados no Test Explorer; o NUnit continua sendo a escolha mais comum para testes. Selenium Trabalhar em C#.

A ferramenta de IA propõe localizadores a partir de um instantâneo da página, corrige seletores que quebraram após uma alteração na interface do usuário e converte um caso de teste escrito em um método NUnit em versão preliminar. Trate cada sugestão como um rascunho e revise as asserções antes de confirmar as alterações.

Sim. Dado um comentário que descreve o cenário, o Copilot cria os membros SetUp, Test e TearDown e sugere chamadas FindElement a partir do código circundante. Verifique os localizadores na página ativa, pois os seletores gerados são inferidos em vez de inspecionados.

Selenium Possui a mais ampla rede, suporte em nuvem e linguagens, além de uma extensa base de testes existente, o que mantém a habilidade em uso. O Playwright oferece execução mais rápida e espera integrada. Muitas equipes .NET utilizam ambos, compartilhando o mesmo executor NUnit e os mesmos relatórios.

Resuma esta postagem com: