Í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
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…