Testes automatizados com C# e Selenium – parte 2

E aí! Vamos (finalmente!) escrever aquele teste com Selenium!

Oprah com um microfone gritando e apontando para a platéia

🔙 Caso você não tenha visto a parte 1 desse post, com todas as configurações para fazer esse teste, corre lá!

⚠️ Lembrando: estamos criando um projeto de teste solo e vamos testar algo bem básico; no caso, vamos pesquisar algo no Google e conferir se o primeiro resultado vem preenchido. Também quero recordar que estou usando e passando somente os conhecimentos que estão dentro da minha alçada, ou seja: .NET Framework e IEDriver como navegador para o Selenium.

Continuar lendo Testes automatizados com C# e Selenium – parte 2

Testes automatizados com C# e Selenium – parte 1

Quem nunca quis morrer por conta de um sistema legado, que atire a primeira pedra! Esse era exatamente o sentimento que eu tinha há algum tempo, com o atual sistema que trabalho. Ele é um senhorzinho que funciona muitíssimo bem, mas que aos poucos está sendo atualizado e, junto com isso, veio a oportunidade de aplicar alguns testes automatizados nele.

Mas é claro que nada é tão simples assim…

Elmo dando de ombros

Por conta da maneira que ele estava desenvolvido, a única automação de teste possível seria com o Selenium – ou seja, desenvolver um projeto de testes que simulasse o usuário utilizando o sistema e suas inúmeras possibilidades de fluxos. Já é alguma coisa, não?

Eu nunca tinha trabalhado com o Selenium puro, somente com o SpecFlow, que eu vejo como uma ferramenta facilitadora: ele faz com que seja mais fácil incluir a gerência no processo de desenvolvimento de casos de teste, por exemplo.

Dada essa introdução, vim fazer um mini-tutorial (em partes) de como fazer seu primeiro teste automatizado com Selenium e C#!

Continuar lendo Testes automatizados com C# e Selenium – parte 1

Como não ficar ansiosa programando

Olá, meu nome é Olivia e eu sou muito ansiosa. Além disso, eu cheguei bem perto de um burnout – que, infelizmente, deixou algumas sequelas.

Síndrome de Burnout ou Síndrome do Esgotamento Profissional é um disturbio emocional com sintomas de exaustão extrema, estresse e esgotamento físico resultante de situações de trabalho desgastante, que demandam muita competitividade ou responsabilidade. – Ministério da Saúde

Desde que eu cheguei no meu atual emprego, o seguinte processo já aconteceu algumas vezes: me passaram alguma alteração simples, eu percebi que não sabia fazer, entrei em parafuso, fui pro banheiro, surtei durante alguns minutos (às vezes com choro, às vezes só hiperventilando), voltei pro meu computador e, pouco tempo depois, consegui resolver o problema; muitas vezes de uma forma até bem simples.

Uma menina ruiva hiperventila em um saco de papel, com uma das mãos na cabeça

Não é fácil. Mas eu sinto que a cada dia eu consigo melhorar um pouquinho. Um dia eu chego lá.

Às vezes, isso acontece quando estou desenvolvendo algum projeto pessoal. Não chegam a acontecer crises porque, bem… é um projeto pessoal, não tenho nenhum prazo e possivelmente nenhuma pessoa vai ser impactada negativamente pelo que eu estou desenvolvendo.

Mas acontece. Eu estou desenvolvendo um método, já pensando em como vou lidar com a resposta daquilo, e aí como eu preciso armazenar as informações e ficando preocupada porque a ideia não parece ser boa o suficiente e quando vejo… já estou emaranhada no turbilhão de ansiedade.

Um garoto negro balança a cabeça de um lado para o outro em sinal de reprovação.

E quando eu percebo que isso aconteceu (às vezes um pouco tarde demais, confesso), eu paro. Respiro. E volto ao começo do pensamento.

Por isso, decidi escrever aqui um pouco do meu processo e das minhas técnicas para não deixar a ansiedade me dominar enquanto estou programando! Pode parecer bobo, mas comigo funciona e eu acho interessante documentar isso. E se ajudar alguém, fico ainda mais feliz!

Continuar lendo Como não ficar ansiosa programando

Como mudar o número de usuários máximo do seu teste de carga de maneira fácil

Recentemente, fiquei responsável na minha equipe por desenvolver testes automatizados e de carga no sistema. Foi um desafio novo: por mais que eu já tivesse feito alguns testes automatizados antes, começar tudo do zero era algo que eu nunca tinha feito; especialmente os testes de carga, que eu nem sabia que eram possíveis de serem feitos tão fácil pelo Visual Studio.

Depois de desenvolvidos os testes automatizados e criados vários testes de carga diferentes a partir deles (cada um deles com seu próprio .loadtest), foi me pedido uma alteração específica, nos testes de carga que eram executados por tempo: que o número máximo de browsers que fossem abertos fossem 15 (inicialmente foi programado 25).

Já irritada, pensei: vou ter que apagar todos os testes e criar de novo, porque essa é uma das informações que é definida em uma espécie de wizard de criação de testes de carga.

Print screen do wizard de criação de testes de carga do Visual Studio

Mas como eu sou brasileira e não desisto nunca, fui procurar se havia alguma maneira mais fácil de alterar os testes sem precisar apagar tudo e fazer de novo. E existe!

Continuar lendo Como mudar o número de usuários máximo do seu teste de carga de maneira fácil

Recursos legais pra te ajudar com o frontend

Caso você não me conheça e chegou aqui agora, gostaria que você soubesse que, apesar de arriscar um pouquinho com HTML, CSS e Javascript, eu sou 100% backend 😅

Por mais que eu tente, eu não consigo deixar as coisas do jeito que eu quero e, quando consigo, nem sempre fica tão bonito quanto eu imaginei. Tenho ZERO senso estético, de verdade. Prefiro bem mais fazer as coisas funcionarem por baixo dos panos.

Gif mostrando a diferença entre o designer e o desenvolvedor: o designer olha de um lado para o outro enquanto o desenvolvedor olha de cima para baixo.

Mas eu não me dou por vencida, e vez ou outra tento dar aquela praticada no frontend; mais pra não enferrujar de vez do que pra me tornar especialista.

Recentemente, fiz as aulas da Imersão CSS da Alura e me foi extremamente proveitoso. Percebi que tem MUITA coisa que é possível fazer somente com CSS e achei isso fantástico. E eu aprendi muito. Tanto que, até agora, estou dando prosseguimento no meu site, tentando deixá-lo o mais “eu” possível, com várias animações e seguindo o que aprendi: tudo com HTML e CSS.

É claro que vários dos elementos que coloquei no meu site eu não construí do zero, e peguei de algum lugar. Mas só de ter o poder e a noção de como customizá-los, eu já me sinto extremamente poderosa!

As três programadoras negras do filme "Estrelas Além do Tempo"

Durante a minha jornada com o frontend nesses últimos dias, me deparei com alguns sites que facilitaram bastante a minha vida, e achei por bem compartilhá-los aqui, vai que ajuda mais alguém (e assim também tenho uma referência do que já usei caso precise num futuro próximo 😀

Continuar lendo Recursos legais pra te ajudar com o frontend

Detalhes desconhecidos: como recuperar a seção applicationSettings de um arquivo App.config?

Esses dias, enquanto estava configurando um serviço em um dos projetos do trabalho, tive um momento de nervoso porque não fazia a menor ideia de como recuperar um dado da seção applicationSettings, que fica dentro do arquivo App.config.

Explico: trabalhar com os .config da vida não é algo novo para mim; praticamente todos os projetos do meu trabalho tem um. É um arquivinho deveras útil quando precisamos parametrizar certos aspectos do sistema (e não queremos que este seja recompilado para que a parametrização funcione).

Um homem negro digita em um computador enquanto uma fogueira arde ao seu lado.

Porém, eu só havia me deparado com dois cenários esse tempo todo:

1- criar uma seção de appSettings e declarar meus parâmetros ali dentro, com chave e valor:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <appSettings>
      <add key="NomeDoParametro" value="Valor do parâmetro" />
   </appSettings>
</configuration>

E recuperá-los via ConfigurationManager, da biblioteca System.Configuration:

using System.Configuration;

private string _recuperandoParametroArquivoConfig = ConfigurationManager.AppSettings["NomeDoParametro"];

2- criar uma seção relativa à algo específico e ali criar os parâmetros com chave e valor:

<NomeDaSecao>
      <Autenticacao>
         <add key="Username" value="Usuario" />
         <add key="Password" value="SenhaDoUsuario" />
      </Autenticacao>
      <Constantes>
         <add key="Endereco" value="ValorDoEndereco" />
      </Constantes>
</NomeDaSecao>

E recuperá-los com o NameValueCollection e ConfigurationManager:

NameValueCollection Autenticacao = (NameValueCollection)ConfigurationManager.GetSection("NomeDaSecao/Autenticacao");
NameValueCollection Constantes = (NameValueCollection)ConfigurationManager.GetSection("NomeDaSecao/Constantes");

string Url = Constantes.Get("Endereco");

Pois bem, ali estava eu, em um cenário totalmente novo: eu tinha uma tag applicationSettings e precisava do valor que ficava ali dentro dela.

    <applicationSettings>
        <Projeto.Properties.Settings>
            <setting name="NomeDaConfiguracao" serializeAs="String">
                <value>ValorDaConfiguracao</value>
            </setting>
        </Projeto.Properties.Settings>
    </applicationSettings>

Depois de uns 10 segundinhos de nervoso pensando: “como é que eu chego ali?”, fui consultar o Oráculo (Google + Stack Overflow) e a solução é MUITO mais simples do que eu podia imaginar. (Às vezes eu esqueço que o Visual Studio pode facilitar bastante a nossa vida…)

Robert Downey Jr. fazendo sinais de joinha com as mãos.
Continuar lendo Detalhes desconhecidos: como recuperar a seção applicationSettings de um arquivo App.config?

Razor 101

Durante algum tempo, desenvolvi exclusivamente back-end. Fiquei “presa” nesse mundinho de APIs e bancos de dados. Confesso que, logo que comecei, eu não era a maior fã não. Hoje, sou apaixonada e simplesmente não gosto mais de front. Nadinha. Necas.

Porém, voltei a ser desenvolvedora fullstack. E tenho que lidar com o front, gostando ou não. No projeto em que estou, utilizamos o Razor como view engine e, honestamente? Estou gostando muito dele como ferramenta!

O ASP.NET Razor é uma view engine que já está incluída no WebMatrix, com ele temos a possibilidade de inserir a lógica da aplicação diretamente na camada de visualização do projeto […]

As páginas ASP.NET criadas pelo WebMatrix utilizando a view engine Razor possuem uma extensão de arquivo especial, os arquivos que utilizam como base a linguagem C# .NET tem a extensão CSHTML e as que utilizam do Visual Basic .NET tem a extensão VBHTML, sendo que essas extensões especiais são reconhecidas pelo servidor web e executa em primeiro lugar os códigos que são executados pelo servidor e em seguida envia a página para o navegador.  – Fonte

Decidi, nesse post, trazer algumas das sintaxes do Razor que achei mais legais durante meu processo de aprendizado. E também algumas facilidades que o Visual Studio te traz ao criar seu primeiro projeto usando essa engine.

Continuar lendo Razor 101

Indicação de artigo: Você tem que escolher entre Software “no prazo” ou Software de qualidade

Eu uso um aplicativo chamado Pocket para salvar artigos, tutoriais e notícias que eu gostaria muito de ler, mas não posso fazê-lo naquele momento. E coloquei como um dos meus objetivos “zerar” a lista que lá se encontra. Tem muitos artigos de opinião sobre vários assuntos do meu interesse, dentre eles desenvolvimento de software, dicas sobre como melhorar soft skills, etc, etc. Pretendo postar aqui os artigos que foram relevantes e de fato agregaram algum conhecimento à minha pessoa.

Um adolescente branco está mexendo em um computador, solta o mouse e faz um sinal de joinha com a mão.
Continuar lendo Indicação de artigo: Você tem que escolher entre Software “no prazo” ou Software de qualidade