{"id":15144562,"url":"https://github.com/rafaelfersilva/robotframewor_appium_mobile","last_synced_at":"2026-01-28T11:10:11.323Z","repository":{"id":154805917,"uuid":"317672658","full_name":"RafaelFerSilva/RobotFramewor_Appium_Mobile","owner":"RafaelFerSilva","description":"Project About Robot Framework With Appium For Mobile Apps","archived":false,"fork":false,"pushed_at":"2021-03-17T05:56:47.000Z","size":7847,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-12T23:38:06.678Z","etag":null,"topics":["appium","framework","mobile-app","robot-framework","test"],"latest_commit_sha":null,"homepage":"","language":"RobotFramework","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/RafaelFerSilva.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-01T21:30:00.000Z","updated_at":"2021-03-17T06:05:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"d4e4da6b-39ec-4234-b696-b5a20b4790c2","html_url":"https://github.com/RafaelFerSilva/RobotFramewor_Appium_Mobile","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"d89237d4e0e2fcf20d0da8686cc1bdc7208fbc7e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelFerSilva%2FRobotFramewor_Appium_Mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelFerSilva%2FRobotFramewor_Appium_Mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelFerSilva%2FRobotFramewor_Appium_Mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelFerSilva%2FRobotFramewor_Appium_Mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RafaelFerSilva","download_url":"https://codeload.github.com/RafaelFerSilva/RobotFramewor_Appium_Mobile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247520714,"owners_count":20952225,"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":["appium","framework","mobile-app","robot-framework","test"],"created_at":"2024-09-26T10:42:09.716Z","updated_at":"2026-01-28T11:10:11.295Z","avatar_url":"https://github.com/RafaelFerSilva.png","language":"RobotFramework","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Robot Framework - Appium - Mobile Automation\n\nPreparamos um script  chamado **dependencies.sh** para facilitar a instalação do Robot Framework e suas dependênicas. \n\nPara a executar o script acesse a raiz do projeto e execute este comando no terminal:\n\n````\n. dependencies.sh\n````\n\nApós a execussão do script nós teremos o **Robot Framework** e as seguintes dependências instaladas.\n\n````\nPython 3\npip 3\nChromeDriver 88.0.4324.96\nbuild-essential libssl-dev libffi-dev python3-dev\nSelenium\nRobot Framework\nSelenium2library\nFakerLibrary\nRobot Appium Lib\nAppium-Python-Client'\n````\n\nRobot Framework é um poderoso framework para automação de tests e tem uma documentação muito boa.\n\n[How to write good test cases using Robot Framework](https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/HowToWriteGoodTestCases.rst)\n\n----\n\n[Robot Framework User Guide](http://robotframework.org/robotframework/#user-guide)\n\n---\n\n[Robot Framework Quick Start Guide](https://github.com/robotframework/QuickStartGuide/blob/master/QuickStart.rst)\n\n---\n\n[SeleniumLibrary Documentation](https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html)\n\n---\n\n## Android Studio\n\nUsaremos o android studio para criarmos nossos emuladores a assim executarmos nossos tests.\n\n#### Dependencias\n- [Java](https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-20-04-pt)\n\n#### Install Visual Studio\n- [Download Visual Studio](https://developer.android.com/studio?hl=pt-br)\n    - Descompacte o arquivo .zip transferido por download em um local apropriado para seus aplicativos, como */usr/local/*\n    \n        ````\n        tar -vzxf file.zip\n        sudo mv ~/Downloads/android-studio/ /usr/local/\n        ````\n    - Se você estiver usando uma versão de 64 bits do Linux, instale as bibliotecas necessárias para máquinas de 64 bits.\n        ````\n        sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386\n        ````\n    - Para iniciar o Android Studio, abra um terminal, navegue até o diretório android-studio/bin/ e execute o arquivo studio.sh\n        ```commandline\n            cd /usr/local/android-studio/bin/\n            ./studio.sh\n        ```\n    - Selecione se você quer ou não importar as configurações anteriores do Android Studio e clique em **OK**.\n    - O assistente de configuração do Android Studio orientará você durante o restante do processo, o que inclui o download dos componentes do SDK do Android que são necessários para o desenvolvimento.\n    \n#### Android Studio - Variaveis de Ambiente\n\nAbra o arquivo ~/.bashrc e defina as seguintes variáveis relacionadas ao Android.\n```commandline\nsudo vim ~/.bashrc\n```\n\nAdicionar no final do arquivo\n```commandline\nexport ANDROID_HOME=$HOME/Android\nexport ANDROID_SDK_ROOT=$HOME/Android/Sdk\nexport PATH=$PATH:$HOME/bin:$ANDROID_SDK_ROOT/tools\nexport PATH=${PATH}:${ANDROID_SDK_ROOT}/tools\nexport PATH=${PATH}:${ANDROID_SDK_ROOT}/platform-tools\n```\n\nSalve o Arquivo e execute:\n```commandline\nsource ~/.bashrc\n```\n\n#### Emuladores - Dispositivos virtuais\n\nUsaremos os emuladores do android studio para executar nossos tests. Segue o link da documentação para criar os emuladores.\n\n[Criar e gerenciar dispositivos virtuais](https://developer.android.com/studio/run/managing-avds?hl=pt-br\u0026authuser=2)\n\n\nApós a criação dos emuladores podemos verificar quais temos disponíveis/criados utilizando o comando:\n```commandline\nemulator -list-avds\n```\n\nSabendo quais são nossos emuladores disponíveis podemos executar os mesmos sem abrir o android studio. Isso nos faz economizar recursos.\n```commandline\ncd $ANDROID_HOME/emulator\n./emulator -avd emulator_name\n```\n\nSe tiver problemas com Android Studio: /dev/kvm device permission denied, execute estes passos abaixo\n\n```commandline\nsudo apt install qemu-kvm\nsudo adduser \u003cReplace with username\u003e kvm\n```\n\nSe mesmo assim continuar sem premissão execute:\n```commandline\nsudo chown \u003cReplace with username\u003eT /dev/kvm\n```\n## Appium\nAppium is an open source test automation framework for use with native, hybrid and mobile web apps.\n\n[Appium Documentation](http://appium.io/docs/en/about-appium/intro/)\n\n[Appium For Robot Framework](https://github.com/serhatbolsu/robotframework-appiumlibrary)\n\n\n### Install Appium\n```commandline\n\u003e brew install node      # get node.js\n\u003e npm install -g appium  # get appium\n\u003e npm install wd         # get appium client\n\u003e appium                 # start appium server\n```\n\n### Install Appium doctor\n\nAppium doctor is very useful to check the configs required for Appium. Install it be this command:\n\n```\nnpm install appium-doctor -g\n$ appium-doctor\n```\n\nVerifique as informações do appium doctor e atualizar o que for necessário\n\n\n### Appium com interface gráfica\n\n- faça dowload do appium AppImage\n    - [https://github.com/appium/appium-desktop](https://github.com/appium/appium-desktop/releases/tag/v1.18.3)\n- mude a permissão do arquivo\n\n```jsx\nchmod u+x arquivo.AppImage\n```\n\n- clicar com o botão direito do mouse em cima do arquivo baixado. Depois, com o segundo clique do mouse, selecionar ***Propriedades* -\u003e *Permissões* -\u003e *Criar executável.***\n- Então, agora basta clicar no AppImage  e fazer a execussão.\n\n![Appium Interface](images/appium.png)\n\n\n### UI automator Viewer\n\nAplicativo utilizado para tirar screenshots da tela que está aberta no emulador e assim conseguimos acessar a estrutura do aplicativo e criar localizadores para os elementos.\n\n```commandline\nsudo apt install androidsdk-uiautomatorviewer\nsudo apt install uiautomatorviewer\n```\n![Appium Interface](images/uiautomator.png)\n\n### Apk info\nAplicativo para pegar os dados detalhados dos apps para test. arrastar o arquivo para o emulador e soltar, isso vai Instalar no emulador e assim podemos pegar informações detalhadas dos aplicativos.\n\n```commandline\nFile path: apk_info/com.intelloware.apkinfo.apk\n```\n\n![apkInfo](images/apkInfo.png)\n\n---\n# Executar os tests\n- Abra o Emulador\n   - Entrar na pasta do emulador\n    ```commandline\n    cd $ANDROID_HOME/emulator\n    ```\n  - Verificar a lista de emuladores\n  ```commandline\n    emulator -list-avds\n  ```\n  - Executar o emulador desejado. Para este projeto estou usando o Pixel_2_API_26 com a aversão 8 do android \n  ```commandline\n     ./emulator -avd Pixel_2_API_26\n  ```\n\n- Executar o Appium\n  \n    ```commandline\n    appium\n   ```\n    \n- Executar os tests\n    ```commandline\n    robot --outputdir reports --loglevel TRACE tests/\n   ```\n  \nOs tests devem ser executados e o resultado no terminal deve ser algo parecido com:\n![testsResuts](images/testresults.png)\n    \n ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelfersilva%2Frobotframewor_appium_mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafaelfersilva%2Frobotframewor_appium_mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelfersilva%2Frobotframewor_appium_mobile/lists"}