{"id":17745432,"url":"https://github.com/dvduardo/serenitybdd","last_synced_at":"2025-04-01T18:31:00.888Z","repository":{"id":46805041,"uuid":"408638627","full_name":"dvduardo/SerenityBDD","owner":"dvduardo","description":"Um projeto simples usando Serenity BDD desenvolvido para testes backend.","archived":false,"fork":false,"pushed_at":"2021-12-03T05:39:04.000Z","size":46,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-13T04:27:06.620Z","etag":null,"topics":["automacaodeteste","automated-testing","cucumber","cucumber-java","file","java","json","json-file","maven","readme","selenium","serenity","serenity-aggregate","serenity-bdd","serenity-cucumber","teste","tester"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvduardo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-21T00:13:46.000Z","updated_at":"2024-06-04T17:51:47.000Z","dependencies_parsed_at":"2022-09-12T07:41:24.247Z","dependency_job_id":null,"html_url":"https://github.com/dvduardo/SerenityBDD","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvduardo%2FSerenityBDD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvduardo%2FSerenityBDD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvduardo%2FSerenityBDD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvduardo%2FSerenityBDD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvduardo","download_url":"https://codeload.github.com/dvduardo/SerenityBDD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246635949,"owners_count":20809331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automacaodeteste","automated-testing","cucumber","cucumber-java","file","java","json","json-file","maven","readme","selenium","serenity","serenity-aggregate","serenity-bdd","serenity-cucumber","teste","tester"],"created_at":"2024-10-26T07:23:00.841Z","updated_at":"2025-04-01T18:31:00.616Z","avatar_url":"https://github.com/dvduardo.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/dvduardo/SerenityBDDBasic\"\u003e\n\n  \u003cimg alt=\"Repository size\" src=\"https://img.shields.io/github/repo-size/dvduardo/SerenityBDDBasic\"\u003e\n\n   \u003ca href=\"https://github.com/dvduardo/SerenityBDDBasic/stargazers\"\u003e\n    \u003cimg alt=\"Stargazers\" src=\"https://img.shields.io/github/stars/dvduardo/SerenityBDDBasic?style=social\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://www.linkedin.com/in/dvduardo/\"\u003e\n    \u003cimg alt=\"Feito pela David\" src=\"https://img.shields.io/badge/feito%20por-David-%237519C1\"\u003e\n  \u003c/a\u003e\n\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e\n    \u003cimg alt=\"SerenityBDD\" title=\"#SerenityBDD\" src=\"./images.png\" /\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e \n\t🚧 EM CONSTRUÇÂO 🚧\n\u003c/h4\u003e\n\n## Um pouco sobre Serenity e o projeto desenvolvido\n\n[Serenity_BDD](https://serenity-bdd.github.io/theserenitybook/latest/index.html#) é uma biblioteca de código aberto que\nvisa tornar a ideia de documentação viva uma realidade, ajudando você a escrever testes automatizados de aceitação e\nregressão mais limpos e mais fáceis de manter com mais rapidez. O Serenity também usa os resultados do teste para\nproduzir relatórios narrativos ilustrados que documentam e descrevem o que seu aplicativo faz e como funciona. Ele\ninforma não apenas quais testes foram executados, mas, o que é mais importante, quais requisitos foram testados.\n\nEsse projeto foi desenvolvido para ajudar outros QA's e DEV a entender um pouco mais de como funciona o Serenity BDD\njuntamente com o [ScreenPlay Partner](https://blog.onedaytesting.com.br/screenplay-pattern/) para o desenvolvimento de\ntestes automatizados para backend.\n\n---\n\n## ⚙️ Funcionalidades\n\nBasicamente os testes desenvolvidos são bem simples apenas para mostrar a funcionalidade da ferramenta batendo em\nendpoints publicos disponibilizados pela [jsonplaceholder](https://jsonplaceholder.typicode.com/guide/). Temos os\nseguintes cenarios de teste, que podem ser facilmente encontrados na\npasta [features](https://github.com/dvduardo/SerenityBDDBasic/blob/master/src/test/resources/features/Test.feature):\n\u003cbr\u003e\u003cbr /\u003e\n\u003cb\u003eAtualização 1.0 ↠ \u003c/b\u003e  Foram adicionados novos cenarios para recuperar e modificar um arquivo json.\n\n```bash\n  Cenario:Executar uma requisicao POST\n    Quando eu criar uma requisicao \"post\" com sucesso\n      | title  | titulo |\n      | body   | body   |\n      | userId | 1      |\n    E retorna \"created\"\n    E validar o campo \"id\" contem o valor inteiro \"101\"\n    Entao validar os campos\n      | title | titulo |\n      | body  | body   |\n\n\n  Esquema do Cenario: Executar uma requisicao GET\n    Quando eu criar uma requisicao \"get\" com sucesso\n      | id | \u003cvalue\u003e |\n    E retorna \"sucesso\"\n    Entao validar o campo \"id\" contem o valor inteiro \"\u003cvalue\u003e\"\n\n    Exemplos:\n      | value |\n      | 1     |\n      | 2     |\n      | 3     |\n      | 4     |\n\n  Cenario: Executar uma requisicao GET com body incorreto\n    Quando eu criar uma requisicao \"get\" com sucesso\n      | id | erro |\n    Entao retorna \"not_found\"\n\n  Cenario:Executar uma requisicao PATCH\n    Quando eu criar uma requisicao \"patch\" com sucesso\n      | id    | 1     |\n      | title | teste |\n    E retorna \"sucesso\"\n    Entao validar os campos\n      | body | recusandae |\n\n  Cenario:Executar uma requisicao DELETE\n    Quando eu criar uma requisicao \"delete\" com sucesso\n      | id | ERRO |\n    E retorna \"sucesso\"\n\n  Cenario:Recuperar json file e utilizando em uma requisicao\n    Quando eu recuperar o arquivo e enviar a requisicao\n    E retorna \"created\"\n    Entao validar os campos\n      | title     | Happy Potter |\n      | duration  | 120          |\n      | cast.girl | Hermione     |\n\n  Cenario:Recuperar arquivo json e modificar valores dos campos existentes\n    Quando eu recuperar o arquivo\n    E modificar o campo\n      | title    | Novo Filme                  |\n      | body     | Nova descricao para o filme |\n      | duration | 57                          |\n      | userId   | 2                           |\n    E eu modificar o campo \"cast\".\"girl\" para o valor \"Garota da capa vermelha\"\n    E eu modificar o campo \"cast\".\"scar_boy\" para o valor \"Jorge\"\n    E eu enviar a requisicao\n    E retorna \"created\"\n    Entao validar os campos\n      | title         | Novo Filme                  |\n      | body          | Nova descricao para o filme |\n      | duration      | 57                          |\n      | userId        | 2                           |\n      | cast.girl     | Garota da capa vermelha     |\n      | cast.scar_boy | Jorge                       |\n\n  Cenario:Recuper arquivo json e remover campos existentes\n    Quando eu recuperar o arquivo\n    E remover o campo\n      | body     |\n      | duration |\n    E remover o campo cascateado\n      | cast | girl        |\n      | cast | redhead_boy |\n    E eu enviar a requisicao\n    E retorna \"created\"\n\n  Cenario:Recuperar arquivo json e adicionar campos na requisicao\n    Quando eu recuperar o arquivo\n    E eu adicionar o campo\n      | release_year | 2000 |\n      | has_sequel   | yes  |\n    E eu criar o campo \"teste\".\"subteste\" com o valor \"1\"\n    E eu enviar a requisicao\n    E retorna \"created\"\n    Entao validar os campos\n      | release_year   | 2000 |\n      | has_sequel     | yes  |\n      | teste.subteste | 1    |\n```\n\n---\n\n## 🚀 Como executar o projeto\n\n### Pré-requisitos\n\nAntes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas:\n[Java](https://www.java.com/pt-BR/), [Maven](https://maven.apache.org),[Git](https://gitforwindows.org). Além disto é\nbom ter um editor para trabalhar com o código como [IntelliJ](https://www.jetbrains.com/pt-br/idea/)\n\n#### AGORA VAMOS EXECUTAR DE VERDADE 😀\n\n```bash\n# Clone este repositório\n$ git clone git@github.com:dvduardo/SerenityBDDBasic.git\n\n# Acesse a pasta do projeto no terminal/cmd\n$ cd SerenityBDDBasic\n\n# Instale as dependências e execute os testes\n$ mvn clean verify\n\n# Apos a execução com sucesso, acesse a pasta do report do serenity\n$ cd target\\site\\serenity\n\n# Abra o arquivo index.html\n$ index.html\n\n```\n\n---\n\n[comment]: \u003c\u003e (## 👨‍💻 Contribuidores)\n\n[comment]: \u003c\u003e (\u003ctable\u003e)\n\n[comment]: \u003c\u003e (  \u003ctr\u003e)\n\n[comment]: \u003c\u003e (    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.instagram.com/dvduardo/\"\u003e\u003cimg style=\"border-radius: 50%;\" src=\"https://shortest.link/18iL\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDavid Silva\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://www.instagram.com/dvduardo/\" title=\"Contribuidor\"\u003e\u003c/a\u003e\u003c/td\u003e)\n\n[comment]: \u003c\u003e (  \u003c/tr\u003e)\n\n[comment]: \u003c\u003e (\u003c/table\u003e)\n\n## 💪 Como contribuir para o projeto\n\n1. Faça um **fork** do projeto.\n2. Crie uma nova branch com as suas alterações: `git checkout -b my-feature`\n3. Salve as alterações e crie uma mensagem de commit: `git commit -m \"feature: mensagem\"`\n4. Envie as suas alterações: `git push origin my-feature`\n\n---\n\n## 🦸 Autor\n\n\u003ca  align=\"center\" href=\"https://www.linkedin.com/in/dvduardo/\"\u003e\n \u003cimg align=\"center\" style=\"border-radius: 50%;\" src=\"https://user-images.githubusercontent.com/12902233/144551077-c4283258-c24a-4fa6-8b90-8ab0109bfc5e.png\" width=\"200px;\"/\u003e\n \u003cbr /\u003e\n\u003csub aria-label=\"center\"\u003e\u003cb\u003eDavid Silva\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e \u003ca href=\"https://www.instagram.com/dvduardo/\" title=\"Autor\"\u003e\u003c/a\u003e\n \u003cbr /\u003e\n \u003cbr /\u003e\n\n[![Twitter Badge](https://img.shields.io/badge/-@dvd_uardo-1ca0f1?style=flat-square\u0026labelColor=1ca0f1\u0026logo=twitter\u0026logoColor=white\u0026link=https://twitter.com/dvd_uardo)](https://twitter.com/dvd_uardo) [![Linkedin Badge](https://img.shields.io/badge/-David-blue?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\u0026link=https://www.linkedin.com/in/dvduardo/)](https://www.linkedin.com/in/dvduardo/)\n[![Gmail Badge](https://img.shields.io/badge/-dvduardo@gmail.com-c14438?style=flat-square\u0026logo=Gmail\u0026logoColor=white\u0026link=mailto:dvduardo@gmail.com)](mailto:dvduardo@gmail.com)\n\n---\n\n## 📝 Licença\n\nTemplate do README feito pelo [Thiago Marinho](https://www.linkedin.com/in/tgmarinho/), disponibilizado pela equipe\nmaravilhosa da [Rocketseat](https://blog.rocketseat.com.br/como-fazer-um-bom-readme/)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvduardo%2Fserenitybdd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvduardo%2Fserenitybdd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvduardo%2Fserenitybdd/lists"}