Como usar o Selenium IDE com Scripts & Comandos (Assert, Verify)

Índice:

Anonim

Usaremos o site da Mercury Tours como nosso aplicativo da web em teste. É um sistema de reserva de voos online que contém todos os elementos de que precisamos para este tutorial. Seu URL é http://demo.guru99.com/test/newtours/, e este será nosso URL base.

Criar um script por gravação

Vamos agora criar nosso primeiro script de teste no Selenium IDE usando o método mais comum - por gravação. Posteriormente, executaremos nosso script usando o recurso de reprodução.

Passo 1

  • Abra o Firefox e o Selenium IDE.
  • Digite o valor do nosso URL básico: http://demo.guru99.com/test/newtours/.
  • Ative o botão Gravar (se ainda não estiver ativado por padrão).
Passo 2

No Firefox, navegue até http://demo.guru99.com/test/newtours/. O Firefox deve levá-lo para uma página semelhante à mostrada abaixo.

etapa 3
  • Clique com o botão direito em qualquer espaço em branco da página, como no logotipo da Mercury Tours no canto superior esquerdo. Isso abrirá o menu de contexto do Selenium IDE. Nota: Não clique em nenhum objeto ou imagem com hiperlink
  • Selecione a opção "Mostrar comandos disponíveis".
  • Em seguida, selecione "assertTitle exact: Welcome: Mercury Tours." Este é um comando que garante que o título da página está correto.
Passo 4
  • Na caixa de texto "Nome do usuário" da Mercury Tours, digite um nome de usuário inválido, "invalidUNN".
  • Na caixa de texto "Senha", digite uma senha inválida, "invalidPWD".
Etapa 5
  • Clique no botão "Sign-In". O Firefox deve levá-lo a esta página.
Etapa 6

Desative o botão de gravação para interromper a gravação. Seu script agora deve ser semelhante ao mostrado abaixo.

Etapa 7

Agora que concluímos nosso script de teste, devemos salvá-lo em um caso de teste. No menu Arquivo, selecione "Salvar caso de teste". Como alternativa, você pode simplesmente pressionar Ctrl + S.

Etapa 8
  • Escolha o local desejado e nomeie o caso de teste como "Invalid_login".
  • Clique no botão "Salvar".
Etapa 9.

Observe que o arquivo foi salvo como HTML.

Etapa 10.

Volte para o Selenium IDE e clique no botão Playback para executar todo o script. O Selenium IDE deve ser capaz de replicar tudo perfeitamente.

Introdução aos Comandos do Selênio - Selenês

  • Os comandos Selenese podem ter no máximo dois parâmetros: destino e valor.
  • Os parâmetros não são obrigatórios o tempo todo. Depende de quantos o comando precisará.

3 tipos de comandos

Ações

Esses são comandos que interagem diretamente com os elementos da página.

Exemplo: o comando "clicar" é uma ação porque você interage diretamente com o elemento em que está clicando.

O comando "digitar" também é uma ação porque você está colocando valores em uma caixa de texto, e a caixa de texto os mostra a você em troca. Há uma interação bidirecional entre você e a caixa de texto.

Acessores

Eles são comandos que permitem armazenar valores em uma variável.

Exemplo: o comando "storeTitle" é um acessador porque apenas "lê" o título da página e o salva em uma variável. Ele não interage com nenhum elemento da página.

Afirmações

São comandos que verificam se uma determinada condição é atendida.

3 tipos de afirmações

  • Assert . Quando um comando "assert" falha, o teste é interrompido imediatamente.
  • Verifique . Quando um comando "verificar" falha, o Selenium IDE registra essa falha e continua com a execução do teste.
  • WaitFor . Antes de prosseguir para o próximo comando, os comandos "waitFor" irão primeiro esperar que uma determinada condição se torne verdadeira.
    • Se a condição se tornar verdadeira dentro do período de espera, a etapa será aprovada.
    • Se a condição não se tornar verdadeira, a etapa falhará. A falha é registrada e a execução do teste prossegue para o próximo comando.
    • Por padrão, o valor do tempo limite é definido como 30 segundos. Você pode alterar isso na caixa de diálogo Selenium IDE Options na guia General.

Assert vs. Verify

Comandos Comuns

Comando Número de Parâmetros Descrição
abrir 0 - 2

Abre uma página usando um URL.

click / clickAndWait 1

Clica em um elemento especificado.

type / typeKeys 2

Digita uma sequência de caracteres.

verifyTitle / assertTitle 1

Compara o título da página real com um valor esperado.

verifyTextPresent 1

Verifica se um determinado texto é encontrado na página.

verifyElementPresent 1

Verifica a presença de um determinado elemento.

verifyTable 2

Compara o conteúdo de uma tabela com os valores esperados.

waitForPageToLoad 1

Pausa a execução até que a página seja completamente carregada.

waitForElementPresent 1

Pausa a execução até que o elemento especificado se torne presente.

Crie um script manualmente com o Firebug

Agora, vamos recriar o mesmo caso de teste manualmente, digitando os comandos. Desta vez, precisaremos usar o Firebug.

Passo 1
  • Abra o Firefox e o Selenium IDE.
  • Digite o URL base (http://demo.guru99.com/test/newtours/).
  • O botão de gravação deve estar DESLIGADO.
Etapa 2: Clique na linha em branco superior no Editor.

Digite "abrir" na caixa de texto Comando e pressione Enter.

etapa 3
  • Navegue no Firefox até o nosso URL base e ative o Firebug
  • No painel Selenium IDE Editor, selecione a segunda linha (a linha abaixo do comando "abrir") e crie o segundo comando digitando "assertTitle" na caixa Comando.
  • Sinta-se à vontade para usar o recurso de preenchimento automático.
Passo 4
  • No Firebug, expanda a tag para exibir a tag .</li> <li>Clique no valor da tag <title> (que é "Bem-vindo: Mercury Tours") e cole-o no campo Destino no Editor.</li> </ul> </td> </tr> <tr> <td><strong>Etapa 5</strong> <ul> <li>Para criar o terceiro comando, clique na terceira linha em branco no Editor e digite "digite" na caixa de texto Comando.</li> <li>No Firebug, clique no botão "Inspecionar".</li> </ul> </td> </tr> <tr> <td>Clique na caixa de texto Nome do usuário. Observe que o Firebug mostra automaticamente o código HTML desse elemento.</td> </tr> <tr> <td><strong>Etapa 6</strong> <p>Observe que a caixa de texto Nome do usuário não possui um ID, mas possui um atributo NAME. Devemos, portanto, usar seu NOME como o localizador. Copie o valor NAME e cole-o no campo Destino no Selenium IDE.</p> <p>Ainda na caixa de texto Destino, prefixe "userName" com "name =", indicando que o Selenium IDE deve ter como alvo um elemento cujo atributo NAME é "userName".</p> <p>Digite "invalidUN" na caixa de texto Valor do Selenium IDE. Seu script de teste agora deve ser semelhante à imagem abaixo. Terminamos o terceiro comando. Nota: Em vez de invalidUN, você pode inserir qualquer outra string de texto. Mas o Selenium IDE diferencia maiúsculas de minúsculas e você digita valores / atributos exatamente como no aplicativo.</p> </td> </tr> <tr> <td><strong>Etapa 7</strong> <ul> <li>Para criar o quarto comando, digite "digite" na caixa de texto Comando.</li> <li>Novamente, use o botão "Inspecionar" do Firebug para obter o localizador da caixa de texto "Senha".</li> </ul> <ul> <li> <p>Cole o atributo NAME ("senha") no campo Destino e prefixe-o com "nome ="</p> </li> <li> <p>Digite "invalidPW" no campo Valor no Selenium IDE. Seu script de teste agora deve ser semelhante à imagem abaixo.</p> </li> </ul> </td> </tr> <tr> <td><strong>Etapa 8</strong> <ul> <li>Para o quinto comando, digite "clickAndWait" na caixa de texto Comando no Selenium IDE.</li> <li>Use o botão "Inspecionar" do Firebug para obter o localizador do botão "Entrar".</li> </ul> <ul> <li>Cole o valor do atributo NAME ("login") na caixa de texto Destino e prefixe-o com "name =".</li> <li>Seu script de teste agora deve ser semelhante à imagem abaixo.</li> </ul> </td> </tr> </tbody> </table> <p><strong>Etapa 9:</strong> Salve o caso de teste da mesma maneira que fizemos na seção anterior.</p> <a id="menu-6"></a> <h2>Usando o botão Localizar</h2> <p><strong>O botão Localizar no Selenium IDE é usado para verificar se o que colocamos na caixa de texto Destino é de fato o elemento de IU correto.</strong></p> <p>Vamos usar o caso de teste Invalid_login que criamos nas seções anteriores. Clique em qualquer comando com uma entrada de destino, digamos, o terceiro comando.</p> <p>Clique no botão Encontrar. Observe que a caixa de texto Nome do usuário na página Mercury Tours fica destacada por um segundo.</p> <p>Isso indica que o Selenium IDE foi capaz de detectar e acessar o elemento esperado corretamente. Se o botão Localizar realçar um elemento diferente ou nenhum elemento, então deve haver algo errado com seu script.</p> <a id="menu-7"></a> <h2>Executar Comando</h2> <p><strong>Isso permite que você execute qualquer comando único sem executar todo o caso de teste</strong> . Basta clicar na linha que deseja executar e, em seguida, clicar em "Ações> Executar este comando" na barra de menus ou simplesmente pressionar "X" no teclado.</p> <p><strong>Etapa 1.</strong> Certifique-se de que seu navegador esteja na página inicial da Mercury Tours. Clique no comando que deseja executar. Neste exemplo, clique na linha "type | userName | invalidUN".</p> <p><strong>Etapa 2.</strong> Pressione "X" no teclado.</p> <p><strong>Etapa 3.</strong> Observe que a caixa de texto do nome de usuário é preenchida com o texto "invalidUN"</p> <p><strong>A execução de comandos dessa maneira depende muito da página que o Firefox está exibindo no momento</strong> . Isso significa que se você tentar o exemplo acima com a página inicial do Google exibida em vez de Mercury Tours ', sua etapa falhará porque não há uma caixa de texto com um atributo "userName" na página inicial do Google.</p> <a id="menu-8"></a> <h2>Ponto de partida</h2> <p><strong>Um ponto inicial é um indicador que informa ao Selenium IDE em quais linhas a execução será iniciada</strong> . <strong>Sua tecla de atalho é "S".</strong></p> <p>No exemplo acima, a reprodução começará na terceira linha (digite | senha | invalidPW). <strong>Você só pode ter um ponto inicial em um único script de teste.</strong></p> <p>O ponto de início é semelhante a Executar Comando, de forma que eles dependem da página exibida no momento. O ponto inicial falhará se você estiver na página errada.</p> <a id="menu-9"></a> <h2>Breakpoints</h2> <p>Os pontos de interrupção são indicadores que informam ao Selenium IDE onde pausar automaticamente o teste. <strong>A tecla de atalho é "B".</strong></p> <p>O destaque amarelo significa que a etapa atual está pendente. Isso prova que o Selenium IDE pausou a execução nessa etapa. <strong>Você pode ter vários pontos de interrupção em um caso de teste.</strong></p> <a id="menu-10"></a> <h2>Etapa</h2> <p>Ele permite que você execute comandos sucessivos um de cada vez após pausar o caso de teste. Vamos usar o cenário da seção anterior "Pontos de interrupção".</p> <table> <tbody> <tr> <td width="50%"> </td> <td> <p><strong>Antes de clicar em "Etapa".</strong></p> <p>O caso de teste pausa na linha "clickAndWait | login".</p> </td> </tr> <tr> <td width="50%"> </td> <td> <p><strong>Depois de clicar em "Etapa".</strong></p> <p>A linha "clickAndWait | login" é executada e pausa para o próximo comando (verifyTitle | Sign-on: Mercury Tours).</p> <p>Observe que a próxima linha está pausada, embora não haja nenhum ponto de interrupção lá. Este é o objetivo principal do recurso Step - ele executa os comandos seguintes, um de cada vez, para dar a você mais tempo para inspecionar o resultado após cada etapa.</p> </td> </tr> </tbody> </table> <a id="menu-11"></a> <h2>Coisas importantes a serem observadas ao usar outros formatos na visualização de código-fonte</h2> <p><strong>Selenium IDE funciona bem apenas com HTML - outros formatos ainda estão em modo experimental</strong> . <strong>NÃO</strong> é <strong>aconselhável</strong> criar ou editar testes usando outros formatos na visualização do código-fonte porque ainda há muito trabalho necessário para torná-lo estável. Abaixo estão os bugs conhecidos da versão 1.9.1.</p> <ul> <li>Você não será capaz de executar a reprodução nem voltar para a visualização em tabela, a menos que reverta para o HTML.</li> <li>A única maneira de adicionar comandos com segurança no código-fonte é gravando-os.</li> <li>Quando você modifica o código-fonte manualmente, tudo é perdido quando você muda para outro formato.</li> <li>Embora você possa salvar seu caso de teste na Visualização de código-fonte, o Selenium IDE não será capaz de abri-lo.</li> </ul> <p><strong>A maneira recomendada de converter os testes Selenese é usar a opção "Export Test Case As ..." no menu File, e não por meio da Source View.</strong></p> <a id="menu-12"></a> <h2>Resumo</h2> <ul> <li>Os scripts de teste podem ser criados gravando ou digitando os comandos e parâmetros manualmente.</li> <li>Ao criar scripts manualmente, o Firebug é usado para obter o localizador.</li> <li>O botão Localizar é usado para verificar se o comando é capaz de acessar o elemento correto.</li> <li>A Visualização de tabela exibe um script de teste em formato tabular enquanto a Visualização de código-fonte o exibe em formato HTML.</li> <li>Alterar a visualização do código-fonte para um formato não HTML ainda é experimental.</li> <li>Não use a Visualização do código-fonte na criação de testes em outros formatos. Em vez disso, use os recursos de exportação.</li> <li>Os parâmetros não são obrigatórios o tempo todo. Depende do comando.</li> <li>Existem três tipos de comandos:</li> <ul> <li>Ações - interage diretamente com os elementos da página</li> <li>Acessores - "lê" uma propriedade de elemento e a armazena em uma variável</li> <li>Assertions - compara um valor real com um esperado</li> </ul> <li>As afirmações têm três tipos:</li> <ul> <li>Assert - em caso de falha, as etapas seguintes não são mais executadas</li> <li>Verificar - em caso de falha, as etapas seguintes ainda são executadas.</li> <li>WaitFor - passa se a condição especificada se tornar verdadeira dentro do período de tempo limite; caso contrário, irá falhar</li> </ul> <li>Os comandos mais comuns são:</li> <ul> <li>abrir</li> <li>click / clickAndWait</li> <li>type / typeKeys</li> <li>verifyTitle / assertTitle</li> <li>verifyTextPresent</li> <li>verifyElementPresent</li> <li>verifyTable</li> <li>waitForPageToLoad</li> <li>waitForElementPresent</li> </ul> </ul> </div> </article> <div id="container-5533149ee6411a5f99b370c693e87966"></div> </div> </div> </div> </div> </div> <aside class="col-lg-4 sidebar sidebar--right"> <div class="widget widget-popular-posts"> <h2 class="widget-title">Publicações Populares</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8003752-namespaced-javascript-template" title="Modelo de Javascript com namespace - CSS-Tricks" rel="bookmark"><img src="https://cdn.css-code.org/3050056/namespaced_javascript_template_css-tricks.png.webp" loading="lazy" alt="Modelo de Javascript com namespace - CSS-Tricks" title="Modelo de Javascript com namespace - CSS-Tricks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003752-namespaced-javascript-template" title="Modelo de Javascript com namespace - CSS-Tricks" rel="bookmark">Modelo de Javascript com namespace - CSS-Tricks 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8003753-pagevisibility-api" title="API PageVisibility - CSS-Tricks" rel="bookmark"><img src="https://cdn.css-code.org/8026528/pagevisibility_api_css-tricks.png.webp" loading="lazy" alt="API PageVisibility - CSS-Tricks" title="API PageVisibility - CSS-Tricks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003753-pagevisibility-api" title="API PageVisibility - CSS-Tricks" rel="bookmark">API PageVisibility - CSS-Tricks 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8003754-prevent-background-image-flickering-in-ie" title="Impedir tremulação de imagem de fundo no IE - CSS-Tricks" rel="bookmark"><img src="https://cdn.css-code.org/7050591/prevent_background_image_flickering_in_ie_css-tricks.png.webp" loading="lazy" alt="Impedir tremulação de imagem de fundo no IE - CSS-Tricks" title="Impedir tremulação de imagem de fundo no IE - CSS-Tricks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003754-prevent-background-image-flickering-in-ie" title="Impedir tremulação de imagem de fundo no IE - CSS-Tricks" rel="bookmark">Impedir tremulação de imagem de fundo no IE - CSS-Tricks 2025</a></h3> </div> </div> </li> </ul> </div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Melhores comentários para o mês</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226014-http-vs-https-what-is-difference-between-http-and-https" title="HTTP vs HTTPS: Qual é a diferença entre HTTP e HTTPS?" rel="bookmark">HTTP vs HTTPS: Qual é a diferença entre HTTP e HTTPS?</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226015-put-vs-post-whats-the-difference" title="PUT vs POST: Qual é a diferença?" rel="bookmark">PUT vs POST: Qual é a diferença?</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226016-what-is-network-security-key-how-to-find-on-router-windows" title="O que é a chave de segurança da rede? Como Encontrar no Roteador, Windows" rel="bookmark">O que é a chave de segurança da rede? Como Encontrar no Roteador, Windows</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226017-difference-between-synchronous-and-asynchronous-transmission" title="Diferença entre transmissão síncrona e assíncrona" rel="bookmark">Diferença entre transmissão síncrona e assíncrona</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226019-get-vs-post-key-difference-between-http-methods" title="GET vs POST: principal diferença entre métodos HTTP" rel="bookmark">GET vs POST: principal diferença entre métodos HTTP</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226020-top-135-networking-interview-questions-and-answers" title="135 principais perguntas e respostas da entrevista de rede" rel="bookmark">135 principais perguntas e respostas da entrevista de rede</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226021-10-best-network-testing-tools-in-2021" title="Mais de 10 MELHORES ferramentas de teste de rede em 2021" rel="bookmark">Mais de 10 MELHORES ferramentas de teste de rede em 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226022-20-best-nagios-alternatives-in-2021" title="20 melhores alternativas de Nagios em 2021" rel="bookmark">20 melhores alternativas de Nagios em 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226023-top-70-ccna-interview-questions-and-answers" title="70 principais perguntas da entrevista do CCNA & Respostas" rel="bookmark">70 principais perguntas da entrevista do CCNA & Respostas</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226024-what-is-semaphore-binary-counting-types-with-example" title="O que é semáforo? Binários, tipos de contagem com exemplo" rel="bookmark">O que é semáforo? Binários, tipos de contagem com exemplo</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226025-45-best-apm-tools-application-performance-monitoring-tool" title="45 BEST APM Tools: Application Performance Monitoring Tool" rel="bookmark">45 BEST APM Tools: Application Performance Monitoring Tool</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226026-80-best-ccna-training-courses-in-2021" title="80 melhores cursos de treinamento CCNA em 2021" rel="bookmark">80 melhores cursos de treinamento CCNA em 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226027-40-best-free-network-monitoring-tools-and-software-2021" title="40 Melhores Ferramentas & Software (2021)" rel="bookmark">40 Melhores Ferramentas & Software (2021)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226028-components-of-operating-systems" title="Componentes de sistemas operacionais" rel="bookmark">Componentes de sistemas operacionais</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226029-cpu-scheduling-algorithms-in-operating-systems" title="Algoritmos de escalonamento de CPU em sistemas operacionais" rel="bookmark">Algoritmos de escalonamento de CPU em sistemas operacionais</a></h3> </div> </div> </li> </ul> </div> <div id="container-5533149ee6411a5f99b370c693e87966"></div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Principais Artigos</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8224705-for-each-example-enhanced-for-loop-to-iterate-java-array" title="Exemplo de For-Each: Aprimorado para Loop para iterar Array Java" rel="bookmark"><img src="https://cdn.css-code.org/5893963/for-each_example_enhanced_for_loop_to_iterate_java_array.png.webp" loading="lazy" alt="Exemplo de For-Each: Aprimorado para Loop para iterar Array Java" title="Exemplo de For-Each: Aprimorado para Loop para iterar Array Java" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224705-for-each-example-enhanced-for-loop-to-iterate-java-array" title="Exemplo de For-Each: Aprimorado para Loop para iterar Array Java" rel="bookmark">Exemplo de For-Each: Aprimorado para Loop para iterar Array Java 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8224706-java-switch-case-statement-with-example" title="Instrução Java Switch-Case com Exemplo" rel="bookmark"><img src="https://cdn.css-code.org/8315667/java_switch-case_statement_with_example.png.webp" loading="lazy" alt="Instrução Java Switch-Case com Exemplo" title="Instrução Java Switch-Case com Exemplo" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224706-java-switch-case-statement-with-example" title="Instrução Java Switch-Case com Exemplo" rel="bookmark">Instrução Java Switch-Case com Exemplo 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8224708-how-to-easily-generate-random-numbers-in-java" title="Como gerar facilmente números aleatórios em Java" rel="bookmark"><img src="https://cdn.css-code.org/4168380/how_to_easily_generate_random_numbers_in_java.jpg.webp" loading="lazy" alt="Como gerar facilmente números aleatórios em Java" title="Como gerar facilmente números aleatórios em Java" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224708-how-to-easily-generate-random-numbers-in-java" title="Como gerar facilmente números aleatórios em Java" rel="bookmark">Como gerar facilmente números aleatórios em Java 2025</a></h3> </div> </div> </li> </ul> </div> </aside> </div> </div> <footer class="footer footer--dark"> <div class="container"> <div class="footer__widgets"> <div class="row"> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Publicações Populares</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225955-12-best-free-virtual-machine-vm-software-in-2021" title="12 Melhor Software de Máquina Virtual (VM) GRATUITO em 2021" rel="bookmark">12 Melhor Software de Máquina Virtual (VM) GRATUITO em 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225956-what-is-r-programming-language-introduction-and-basics-of-r" title="O que é a linguagem de programação R? Introdução & Noções básicas de R" rel="bookmark">O que é a linguagem de programação R? Introdução & Noções básicas de R</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225957-top-12-jenkins-interview-questions-and-answers" title="As 12 principais perguntas da entrevista JENKINS & Respostas" rel="bookmark">As 12 principais perguntas da entrevista JENKINS & Respostas</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225958-20-best-internet-of-things-iot-companies-in-2021" title="20+ MELHORES empresas de Internet das coisas (IoT) em 2021" rel="bookmark">20+ MELHORES empresas de Internet das coisas (IoT) em 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225959-top-53-itil-interview-questions-and-answers" title="53 principais perguntas da entrevista ITIL & Respostas" rel="bookmark">53 principais perguntas da entrevista ITIL & Respostas</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Escolha Do Editor</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003893-underline-individual-words" title="Sublinhar palavras individuais - CSS-Tricks" rel="bookmark">Sublinhar palavras individuais - CSS-Tricks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003894-working-with-attributes" title="Trabalhando com atributos - CSS-Tricks" rel="bookmark">Trabalhando com atributos - CSS-Tricks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003895-append-non-breaking-space-between-last-two-words" title="Anexar espaço ininterrupto entre as duas últimas palavras - CSS-Tricks" rel="bookmark">Anexar espaço ininterrupto entre as duas últimas palavras - CSS-Tricks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003896-adjust-server-time" title="Ajustar hora do servidor - CSS-Tricks" rel="bookmark">Ajustar hora do servidor - CSS-Tricks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003897-append-login-credentials-to-url" title="Anexar credenciais de login ao URL - CSS-Tricks" rel="bookmark">Anexar credenciais de login ao URL - CSS-Tricks</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Principais Artigos</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225633-vb-net-tutorial-pdf-with-beginners-examples-download-now" title="PDF do tutorial do VB.NET com exemplos para iniciantes: (Baixe agora)" rel="bookmark">PDF do tutorial do VB.NET com exemplos para iniciantes: (Baixe agora)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225634-what-is-vbscript-introduction-and-examples" title="O que é VBScript? Introdução & Exemplos" rel="bookmark">O que é VBScript? Introdução & Exemplos</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225635-vbscript-variable-declaration-with-data-types-dim-string-boolean" title="Declaração de variável VBScript com tipos de dados: Dim, String, Boolean" rel="bookmark">Declaração de variável VBScript com tipos de dados: Dim, String, Boolean</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225636-vbscript-operators-logical-and-or-arithmetic-comparison-example" title="Operadores de VBScript: aritmética lógica (AND, OR), exemplo de comparação" rel="bookmark">Operadores de VBScript: aritmética lógica (AND, OR), exemplo de comparação</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225637-vbscript-conditional-statement-if-else-elseif-select-case-example" title="Instrução condicional do VBScript: IF Else, ElseIF, Select Case Example" rel="bookmark">Instrução condicional do VBScript: IF Else, ElseIF, Select Case Example</a></h3> </div> </div> </li> </ul> </div> </div> </div> <p>© Copyright pt.css-code.org, 2025 Agosto | <a href="https://pt.css-code.org/about-site" title="Sobre o site">Sobre o site</a> | <a href="https://pt.css-code.org/contacts" title="Contatos">Contatos</a> | <a href="https://pt.css-code.org/privacy-policy" title="Política de Privacidade">Política de Privacidade</a>. </p> </div> </div> </footer> <link href="https://css-code.org/template/css/style.min.css" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" /> </body> </html>