这是我参与 8 月更文挑战的第 21 天,活动详情查看: 8月更文挑战
上篇见用Airtest测试windows版本网易云音乐(1)
3. 测试用例的编写
本次实验测试用例针对网易云音乐登录,设计了一组登录成功用例和一组登录失败用例,都放在了loginTest.txt里。
13270976346,tjm981130, 13270976346,tjm971130,
4. 编写Airtest脚本
测试脚本如下:
# -*- encoding=utf8 -*-
__author__ = "admin"
from airtest.core.api import *
auto_setup(__file__)
#搜索音乐的案例
#读取测试用例
with open("D:\\Airtest_Test\\loginTest.txt",encoding='utf-8') as f:
content=f.readlines()
data_list=[]
for line in content:
data_list.append([str(line.split(",")[0]),str(line.split(",")[1])])
#登录
touch(Template(r"tpl1608983218414.png", record_pos=(0.299, -0.266), resolution=(1920, 1080)))
touch(Template(r"tpl1609035178281.png", record_pos=(-0.001, 0.093), resolution=(1920, 1080)))
sleep(1)
touch(Template(r"tpl1608981293166.png", record_pos=(-0.072, 0.104), resolution=(1920, 1080)))
def input_pwd(index):
touch(Template(r"tpl1608981390693.png", record_pos=(0.022, -0.036), resolution=(1920, 1080)))
accountstr=data_list[index][0]
print(accountstr)
text(str(accountstr))
sleep(1)
touch(Template(r"tpl1608981404680.png", record_pos=(-0.024, -0.017), resolution=(1920, 1080)))
password=data_list[index][1]
print(password)
text(str(password))
sleep(1)
touch(Template(r"tpl1608981588454.png", record_pos=(0.003, 0.025), resolution=(1920, 1080)))
for index in range(0,2):
if(exists(Template(r"tpl1608983376213.png", record_pos=(-0.265, -0.065), resolution=(1920, 1080)))):
touch(Template(r"tpl1608983415046.png", record_pos=(-0.282, -0.106), resolution=(1920, 1080)))
keyevent("^a")
keyevent("{DEL}")
touch(Template(r"tpl1608984487238.png", record_pos=(-0.043, -0.016), resolution=(1920, 1080)))
keyevent("^a")
keyevent("{DEL}")
input_pwd(index)
#搜索音乐
sleep(2)
touch(Template(r"tpl1608982011365.png", record_pos=(-0.305, -0.266), resolution=(1920, 1080)))
text("江南")
#touch(Template(r"tpl1608982102725.png", record_pos=(-0.326, -0.236), resolution=(1920, 1080)))
#enter键搜索
keyevent("{ENTER}")
sleep(1)
touch(Template(r"tpl1609040382463.png", record_pos=(-0.237, -0.106), resolution=(1920, 1080)))
# 获取当前连接的窗口
dev = device()
# 拿到鼠标,并模拟鼠标的右键点击操作
dev.mouse.right_click( (504, 336))
sleep(3)
#将歌曲添加到指定歌单
keyevent("^s")
touch(Template(r"tpl1609042019881.png", record_pos=(-0.059, 0.046), resolution=(1920, 1080)))
sleep(3)
#去歌单中查看歌曲是否被添加成功,并播放歌单
touch(Template(r"tpl1609040760016.png", record_pos=(-0.454, 0.052), resolution=(1920, 1080)))
touch(Template(r"tpl1609043299145.png", record_pos=(-0.245, -0.184), resolution=(1920, 1080)))
脚本编写注意事项:
- 在
keyevent()中不使用{}框起来的字符,都会被当成需要输入的字符串,被输入到Windows窗口的输入框上。 - 常用sleep(),给服务器反应时间。
- windows上模拟键盘与鼠标操作与安卓端有些不同,具体在官方Windows平台api文档中查看。