Code Monkey home page Code Monkey logo

appuitests's Introduction

AppUiTests

App feito para estudo de testes de UI e de Snapshot

Utilizado para testes de Snapshot a framework SnapshotTesting que esta em https://github.com/pointfreeco/swift-snapshot-testing Ela foi instalada via SPM (Swift Package Manager).

O app foi feito em ViewCode, onde tem apenas 2 telas, uma simulando um Login e a outra a Home. Quando o teste de UI é executado o mesmo executa o App. Entra na HomeViewController, da um tap no emailTextField, digita um texto e verifica se ele existe. E da um tap em senhaTextField, digita um texto e verifica se ele existe. Depois da um tap no botão Acessar e verificar se existe o texto Ola, mundo na tela HomeViewController.

Referente ao teste de Snapshot para ele poder ser executado deve apagar a imagem de referencia na pasta AppSnapshotTestingUITests/Snapshots/AppSnapshotTestingUITests/testSnapshot.1.png.

Depois abrir a classe AppSnapshotTestingUITests e executar o teste para ele dar um erro e assim criar uma nova referencia da tela na mesma pasta, esse erro é normal pois ainda não existe uma referencia da tela, se executar o teste novamente o erro não ira acontecer. Depois disso se houver qualquer alteração na UI e executar o teste novamente um erro ira acontecer, pois a nova imagem não está em conformidade com a referencia.

Para acompanhar onde deu o erro, basta ir na aba Show the Report navigator do lado esquerdo da tela, clicar em Test e poderá ver o que foi alterado, pois ele mostrará a imagem de referencia, a que foi alterada e a diferença.

Definindo o record:True depois de iphoneX poderá criar um nova referencia e se quiser criar uma nova referencia para mais testes podera definir isRecording:true no escopo da função de teste.

Obs: Para teste de UI os componentes da tela precisam estar com a propriedade isAccessibilityElement como true e definir um identificador pela propriedade accessibilityIdentifier com uma String.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.