Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison...

45
pen4education Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco

Transcript of Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison...

Page 1: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Implementando uma Device Farm Android

Thialison SouzaQA Engineer na CargoX

Rafael AmaralQA Engineer na Capco

Page 2: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Um Pouco Sobre...

- QA Engineer na Capco- Organizador do QA Sampa Meeting- Apaixonado por viagens- Adoro viajar para comer :p

@amaralrflRafael Amaral

Page 3: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Um Pouco Sobre...

- QA Engineer na CargoX- Organizador do QA Sampa Meeting- Preciso de café para ter um bom desempenho- Breve experiência na China

@thialisongithub.com/Thialison

linkedin.com/in/thialisonThialison Souza

Page 4: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Agenda• O que é uma Device Farm?• Motivação• Apresentando o STF• Implementando sua Farm• Mão na Massa

Page 5: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

O que é uma Farm de Devices?

Page 6: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

O que é uma Farm de Devices?

Page 7: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

O que é uma Farm de Devices?

É um serviço que possibilita:• Interagir com diversos dispositivos;

Page 8: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

O que é uma Farm de Devices?

É um serviço que possibilita:• Interagir com diversos dispositivos;• Realizar testes manuais e automatizados;

Page 9: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

O que é uma Farm de Devices?

É um serviço que possibilita:• Interagir com diversos dispositivos;• Realizar testes manuais e automatizados;• Reproduzir bugs;

Page 10: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

O que é uma Farm de Devices?

É um serviço que possibilita:• Interagir com diversos dispositivos;• Realizar testes manuais e automatizados;• Reproduzir bugs;• Dependendo da sua farm você pode ter suporte a Android

e iOS;

Page 11: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

O que é uma Farm de Devices?

É um serviço que possibilita:• Interagir com diversos dispositivos;• Realizar testes manuais e automatizados;• Reproduzir bugs;• Dependendo da sua farm você pode ter suporte a Android

e iOS;• Ter acesso a logs e relatórios de execução.

Page 12: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Motivação• Diversos devices disponíveis;

Page 13: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Motivação• Diversos devices disponíveis;• Maior controle e segurança no uso;

Page 14: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Motivação• Diversos devices disponíveis;• Maior controle e segurança no uso;• Inventário de dispositivos;

Page 15: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Motivação• Diversos devices disponíveis;• Maior controle e segurança no uso;• Inventário de dispositivos;• Facilidade no acesso aos devices;

Page 16: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Motivação• Diversos devices disponíveis;• Maior controle e segurança no uso;• Inventário de dispositivos;• Facilidade no acesso aos devices;• Executar testes nos aparelhos.

Page 17: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Opções de Farm

Page 18: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Opções de Farm

Page 19: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Opções de Farm

Page 20: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Opções de Farm

Page 21: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Page 22: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Smartphone Test Farm

Page 23: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Principais Funcionalidades

• Controle remoto de qualquer dispositivo do seu navegador;

Page 24: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Principais Funcionalidades

• Controle remoto de qualquer dispositivo do seu navegador;• Suporta a digitação de texto do seu próprio teclado;

Page 25: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Principais Funcionalidades

• Controle remoto de qualquer dispositivo do seu navegador;• Suporta a digitação de texto do seu próprio teclado;• Instalação de .apk no device;

Page 26: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Principais Funcionalidades

• Controle remoto de qualquer dispositivo do seu navegador;• Suporta a digitação de texto do seu próprio teclado;• Instalação de .apk no device;• Tirar Screenshots;

Page 27: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Principais Funcionalidades

• Controle remoto de qualquer dispositivo do seu navegador;• Suporta a digitação de texto do seu próprio teclado;• Instalação de .apk no device;• Tirar Screenshots;• adb connect;

Page 28: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Principais Funcionalidades

• Controle remoto de qualquer dispositivo do seu navegador;• Suporta a digitação de texto do seu próprio teclado;• Instalação de .apk no device;• Tirar Screenshots;• adb connect;• Extração de logs.

Page 29: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Benefícios

• É Open Source;

Page 30: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Benefícios

• É Open Source;• Suporta as versões 2.3.3 (SDK level 10) a 9.0 (SDK level

28);

Page 31: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Benefícios

• É Open Source;• Suporta as versões 2.3.3 (SDK level 10) a 9.0 (SDK level

28);• Possui uma interface Web;

Page 32: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Benefícios

• É Open Source;• Suporta as versões 2.3.3 (SDK level 10) a 9.0 (SDK level

28);• Possui uma interface Web;• Permite gerenciar seu inventário de dispositivos.

Page 33: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

O que preciso para fazer uma Farm com o STF?

Hardware:• 1 máquina utilizada como

servidor (Preferencialmente um Mac/Ubuntu)

• 1 ou mais devices Android c/ cabos USB

• 1 Hub USB

Software:

• Node.js >= 6.9 ou < 10.0• ADB• Xcode + Command Line Tools (Mac)• RethinkDB >= 2.2• GraphicsMagick (para dimensionar

screenshots)

Page 34: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Implementando sua Farm• Acesse o Github do Openstf/stf: https://github.com/openstf/stf

• Siga os passos de instalação.• Para Mac instale as dependências do projeto com o comando do HomeBrew:

• brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config

• Instalação do Xcode + configuração do Command Line Tools (Mac)

• Vá em Xcode > Preferences > Locations• Selecione o Command Line Tools.

• Instalando o Openstf:

• npm install -g stf

Page 35: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Implementando sua Farm• Antes de utilizar a aplicação stf é necessário iniciar o rethinkdb, no terminal digite:

rethinkdb

• Agora você possui o ambiente configurado para iniciar o STF, no terminal digite:

• stf local

• Abra o Browser e insira o seguinte url:

• http://localhost:7100

Page 36: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Login

Informe seu Nome e E-mail.

Esses dados serão salvos no banco de Dados do RethinkDB.

Page 37: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Home

Page 38: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Detalhes

Page 39: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Controle do device

Page 40: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Page 41: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

STF - Hands On

Page 42: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Próximos Passos

• Execução da automação no farm;• Execução Paralela no farm;• Criar job no Jenkins.

Page 43: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Referênciashttps://openstf.io/https://github.com/openstf/stfhttps://adtmag.com/blogs/dev-watch/2017/05/device-clouds.aspx

Page 44: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um

pen4education

Dúvidas?

Page 45: Implementando uma Device Farm Android - Amazon S3...Implementando uma Device Farm Android Thialison Souza QA Engineer na CargoX Rafael Amaral QA Engineer na Capco. pen4education Um