8 anos de compartilhamento de experiência - leve você de 0 a aprender o framework de automação Airtest

Agora, existem muitos frameworks para automação de IU no mercado, incluindo Selenium, nosso framework de automação web comumente usado, e Appium, um framework de automação móvel.

Embora o Selenium e o Appium pertençam à mesma fonte e as APIs tenham muitas semelhanças, elas podem ser trocadas sem perda , mas ainda precisam introduzir bibliotecas diferentes, e há um grande ponto problemático na automação no nível da interface do usuário, que é que o o posicionamento do elemento será pior. , portanto, neste processo, por vários meios, como a introdução da tecnologia de reconhecimento de imagem OCR, muitos deles usarão o CV aberto original. Nesse processo, a taxa de reconhecimento é um grande problema que temos para resolver .

Nesse caso, um framework acabou sendo o Projeto Airtest lançado pela Netease Games.

01. Composição dos componentes

O Projeto Airtest consiste em vários componentes:

  • Airtest: é uma estrutura de teste de automação de interface do usuário multiplataforma baseada em reconhecimento de imagem, adequada para jogos e aplicativos e oferece suporte às plataformas Windows, Android e iOS.
  • Poco: é uma estrutura de teste automatizada baseada na identificação de controle de interface do usuário. Atualmente, suporta Unity3D/cocos2dx-*/aplicativo nativo Android/aplicativo nativo iOS/applet WeChat e também pode ser usado em outros mecanismos acessando poco-sdk .
  • AirtestIDE: um editor de teste de automação de interface do usuário multiplataforma com funções de plug-in Airtest e Poco integradas, que podem ser usadas para escrever códigos Airtest e Poco de maneira rápida e fácil.

Além dos vários componentes acima que podem ser usados ​​diretamente, a Netease Games também fornece uma plataforma de teste de nuvem AirLab , bem como uma solução de tecnologia de cluster de telefonia móvel privatizada. Pode ser usado como uma solução comercial.

Como acabei de dizer anteriormente, o Airtest Project é usado principalmente para automação da interface do usuário. Na verdade, a automação da camada da interface do usuário se desenvolveu de uma solução comercial antiga para a atual solução de código aberto. Pode ser considerada uma direção de desenvolvimento de longo prazo em o campo de testes automatizados. A estrutura é muito mais complicada. Em termos de tipos de plataforma, há Windows Client, Linux Graphic Client, Web UI, Android UI, iOS UI e applets relativamente novos. Todos esses são desafios para a camada de UI estrutura de automação.

02. Estrutura principal

01、Selênio

A primeira coisa a apresentar é o Selenium, que tem uma longa história. O componente mais usado do Selenium é o componente WebDriver. WebDriver é uma estrutura de teste de automação de aplicativos da Web de código aberto, que pode concluir a operação do navegador operando o navegador nativo API .

  • O Selenium suporta os sistemas operacionais gráficos Windows, OSX e Linux.
  • O Selenium também oferece suporte aos navegadores convencionais atuais, como Chrome, FireFox, Safari, Windows Edge, IE, Opera e alguns navegadores sem interface, como Chrome headless, Phantomjs, etc.
  • O Selenium também é uma estrutura multilíngue que pode suportar várias linguagens, como Python, Java, Ruby e C#.

Como o Selênio funciona:

Pela introdução acima, podemos ver que o Selenium é baseado principalmente no navegador. Em seguida, vamos dar uma olhada no Appium, uma estrutura de terminal móvel comumente usada.

02、Appium

O Appium é uma ferramenta de teste automatizada de código aberto baseada em dispositivos móveis que oferece suporte a aplicativos IOS, Android, Windows e Mac.

  • O Appium oferece suporte aos sistemas operacionais gráficos Windows, OSX e Linux.
  • O Appium também pode suportar vários idiomas. Ele adota o padrão de design C/S e estende o protocolo WebDriver. Portanto, o cliente é implementado em vários idiomas, como Python, Java, Js/Nodejs, Ruby, OC e C#.

Appium princípio introdução:

No coração do Appium está um servidor web que segue o estilo de design REST, e ele será usado para aceitar conexões e instruções de clientes. Devido ao design de interface unificado, o cliente pode ser implementado em vários idiomas, para que os casos de teste possam ser implementados no idioma de sua preferência.

Após receber o comando de teste, o servidor o enviará para o dispositivo. Na camada do dispositivo, é utilizado o framework de teste nativo fornecido pelo fabricante do dispositivo, como XCUITest Driver e UIAutomation Driver for IOS, UIAutomator e UIAutomator2 for Android, etc.

Esquema Appium Android:

Esquema do Appium iOS:

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

03、 Projeto Airtest

O Airtest Project é uma estrutura de teste automatizada desenvolvida pela NetEase e de código aberto. Em comparação com outras estruturas de teste automatizadas, possui as duas vantagens a seguir:

Reduza significativamente o custo de escrever e manter scripts de automação. O Airtest Project espera poder concluir a gravação de scripts de maneira WYSIWYG. Mesmo que os testadores não saibam programar e não entendam scripts, usuários normais podem clicar, arrastar e outras operações , Complete automaticamente a gravação de scripts, reduzindo assim significativamente os custos de manutenção de automação de empresas e projetos.

Para resolver os pontos problemáticos dos testes de jogos, o Airtest Project espera se tornar uma plataforma de testes automatizados verdadeiramente multiplataforma e com vários mecanismos, suportando diferentes mecanismos de jogos.

Molduras:

Pode-se ver que os principais frameworks de teste na parte inferior são principalmente Airtest e Poco. A diferença entre os dois é:

  • Airtest: Uma estrutura de teste de automação de interface do usuário multiplataforma baseada em Python, baseada no princípio de reconhecimento de imagem, adequada para jogos e aplicativos.
  • Poco: Uma estrutura de teste automatizada baseada em pesquisa de controle de interface do usuário. Sua principal vantagem é que, além do Android e IOS, ele também oferece suporte a jogos e miniaplicativos WeChat, jogos WeChat e aplicativos H5.

Todo o framework está equipado com um IDE muito prático, através do AirtestIDE é fácil realizar a gravação de scripts, a execução de tarefas de teste e a geração de relatórios finais de teste.

Os seguintes são materiais de apoio ao aprendizado. Para amigos que fazem [teste de software], deve ser o warehouse de preparação mais abrangente e completo. Este warehouse também me acompanhou na jornada mais difícil. Espero que possa ajudar você também!

Applet de entrevista de teste de software

O banco de questões de teste de software está esgotado por milhões de pessoas! ! ! Quem é quem sabe! ! ! O miniprograma de quiz mais completo de toda a rede, você pode usar seu celular para fazer os quizzes, no metrô ou no ônibus, enrola!

As seguintes seções de perguntas da entrevista são abordadas:

1. Teoria básica de teste de software, 2. web, app, teste de função de interface, 3. rede, 4. banco de dados, 5. linux

6. web, aplicativo, automação de interface, 7. teste de desempenho, 8. noções básicas de programação, 9. perguntas de entrevista de hr, 10. perguntas de teste aberto, 11. teste de segurança, 12. noções básicas de computador

Método de aquisição de informações:

Acho que você gosta

Origin blog.csdn.net/myh919/article/details/132024680
Recomendado
Clasificación