pyest+appium realiza testes automatizados de APP, e as ideias são resumidas aqui

Índice

01. Construção do ambiente Appium

2. Crie um ambiente python+pytest+appium

3. Instale o pycharm para construir um projeto e escrever scripts

4. Execute o teste

força escassa


01. Construção do ambiente Appium

  • instalar nodejs

http://nodejs.cn/

Por que instalar o nodejs?

Porque o servidor da ferramenta appium é desenvolvido pela linguagem nodejs

  • Instale o jdk e configure as variáveis ​​de ambiente

Por que instalar o jdk?

Como queremos testar o Android, o ambiente de depuração do Android precisa contar com o jdk

  • Instale o SDK e configure as variáveis ​​de ambiente

Por que instalar o SDK?

Como queremos testar o Android, o sdk é o ambiente para desenvolvimento e depuração do Android

  • Instalar servidor appium

1. Servidor Appium em forma de linha de comando

npm instalar [email protected]

2. A versão desktop do appium pode ser baixada do site oficial

3. A diferença entre os dois acima

A versão desktop não é apenas um servidor appium, mas também inclui a função de depuração de posicionamento de elemento e script de gravação

A versão da linha de comando é apenas um servidor appium

  • Instalar appium-doctor

npm instalar appium-doctor

Essa ferramenta é utilizada para verificar o ambiente appium, mas não quer dizer que não haja erro na verificação aqui, quer dizer que meu ambiente não deve ter problemas

  • Instale um emulador de Android (não obrigatório)

Yagami, mumu, etc.

 

2. Crie um ambiente python+pytest+appium

  • instalar python

  • Instalar pytest

pip instalar pytest

  • instalar selênio

pip instalar selênio

  • instalar appium

pip install Appium-Python-Client

  • Instale o allure-pytest

pip install allure-pytest

3. Instale o pycharm para construir um projeto e escrever scripts

  •  Inicializar a escrita do código do driver

# !/usr/bin python3                        

# encoding: utf-8 -*-                        

# @author: 沙陌 微信:Matongxue_2

# @Time: 2021/5/21 10:25

# @Copyright:北京码同学网络科技有限公司



#移动端初始化用到的参数特别多

#下面的这个字典里的参数是脚本告诉appium服务端我都要干什么,基础的能力参数

import time

import allure

from appium import webdriver

from selenium.webdriver.common.by import By

desired_caps = {

   #这表示你要测试的设备类型,安卓就写android,ios就写ios

   'platformName':'android',

   #这表示你要测试的app的路径

   'app':'C:\\Users\\lixio\\Desktop\\douban.apk',

   #看起来像是设备名称,但是注意在安卓上这个位置的值随便写都行,

   #这个并不能够代表你要执行的设备是哪个

   'deviceName':'xxx',

   #这个参数才是真正的指定执行哪台设备的参数,

   # 他的值写的就是使用adb devices命令看到的设备名称

   'udid':'127.0.0.1:62001',

   #该参数非常重要,表示在执行测试时不重签名apk文件,

   # 默认情况下appium会针对apk文件进行重签名操作,

   # 但是现在的app都有签名篡改的校验,如果被重签名了那么这个app就不能正常使用了

   'noSign':True,

   #该参数表示在执行appium测试时使用appium的辅助输入法,

   # 好处是支持中文输入支持键盘隐藏

   'unicodeKeyboard':True,

   #表示执行完测试之后将手机的输入法重置回手机原来的

   'resetKeyboard':True,

   #表示脚本和appium服务之间连接的session超时时间,单位是秒

   'newCommandTimeout':600

}

# 初始化driver,参数里看到的url就是appium服务的地址 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

#增加隐式等待

driver.implicitly_wait(10) #单位是秒

```
  • visualização do elemento

Você pode usar a ferramenta uiautomatorviewer.bat que vem com o sdk, ou você pode usar a versão desktop appium do elemento para visualizar

  • Escrita do script de login Douban, usando o método pytest

@allure.title('豆瓣登录')

def test_login():

   # id定位在安卓端对应的元素属性是resource-id

   driver.find_element(By.ID,'com.douban.frodo:id/left').click()

   driver.find_element(By.ID,'com.douban.frodo:id/input_user_name').send_keys('18729399607')

   driver.find_element(By.ID,'com.douban.frodo:id/input_password').send_keys('abc123456')

   driver.find_element(By.ID,'com.douban.frodo:id/sign_in_douban').click()

   #操作完成后,必须有断言来判断结果是否正常

   time.sleep(3)

   page_source = driver.page_source

   assert '书影音' in page_source

 

4. Execute o teste

  • Trabalho preparatório antes da execução

1. Inicie o serviço appium e execute as seguintes operações na linha de comando

2. Certifique-se de que o dispositivo móvel esteja conectado normalmente

  • Execute o teste

Execute o seguinte comando no Terminal do pycharm

pytest -sv --alluredir ./report/allure-results --clean-alluredir

  • Gerar relatório de teste de fascínio

allure generate ./report/allure-results -o ./report/allure-report --clean


força escassa

Por fim, gostaria de agradecer a todos que leram meu artigo com atenção. Vendo o crescimento e a atenção dos fãs em todo o caminho, há sempre a necessidade de reciprocidade. Embora não seja uma coisa muito valiosa, você pode tirá-la se você preciso disso:

Esses materiais devem ser o depósito de preparação mais abrangente e completo para amigos que desejam avançar [testes automatizados]. Esse depósito também me acompanhou na jornada mais difícil e espero que possa ajudar você também! Tudo deve ser feito o mais cedo possível, especialmente na indústria técnica, devemos melhorar nossas habilidades técnicas. Espero ser útil…

Acho que você gosta

Origin blog.csdn.net/m0_58026506/article/details/130172493
Recomendado
Clasificación