用Airtest测试windows版本网易云音乐(2)

534 阅读2分钟

这是我参与 8 月更文挑战的第 21 天,活动详情查看: 8月更文挑战

上篇见用Airtest测试windows版本网易云音乐(1)

3. 测试用例的编写

本次实验测试用例针对网易云音乐登录,设计了一组登录成功用例和一组登录失败用例,都放在了loginTest.txt里。

13270976346,tjm981130, 13270976346,tjm971130,

4. 编写Airtest脚本

测试脚本如下:

截屏2021-08-23 下午7.39.21.png

截屏2021-08-23 下午7.39.46.png


# -*- 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文档中查看。