跳转至

案例

QQ音乐Android端自动化

目标

QQ音乐app内,打开腾讯音乐由你榜,给喜爱的歌手投票

首先确认本地设备连接成功

adb devices

脚本

import asyncio

from page_eyes.agent import WebAgent, AndroidAgent


async def main():
    # 移动端,serial=None为本地连接设备
    ui_agent = await AndroidAgent.create(serial=None, platform=Platform.QY)

    report = await ui_agent.run(
        ('1.打开 url "https://yobang.tencentmusic.com/chart/uni-chart/rankList/"\n'
         '2.点击关闭弹窗,没有弹窗则跳过步骤\n'
         '3.点击"查找"icon\n'
         '4.搜索输入框内输入"林俊杰"\n'
         '5.点击第一首歌曲的"推荐"按钮\n'
         '6.弹窗内点击"推荐"按钮\n'
         ))


if __name__ == "__main__":
    asyncio.run(main())

交互效果


步骤报告

报告内容为每个步骤对应页面的元素信息详情(包括元素位置、大小、识别内容、周围元素等),方便调试与回顾。

步骤报告示例

点击查看元素信息详情示例

Harmony OS 类似

  • 打开 "QQ音乐" APP
  • 点击 "乐馆"
  • 点击 "歌手"
  • 上滑直到出现 "周深"
  • 点击 "周深"
  • 点击 "全部播放"

由你榜iOS端自动化

目标

打开腾讯音乐由你榜,查看日榜排名第一的歌曲

首先确认 WebDriverAgent 服务已启动,并获取 WDA URL

# 查看 WDA 服务状态
curl http://localhost:8100/status

脚本

import asyncio

from page_eyes.agent import IOSAgent
from page_eyes.device import Platform

async def main():

    # iOS端,wda_url为WebDriverAgent服务地址
    ui_agent = await IOSAgent.create(wda_url='http://localhost:8100')

    report = await ui_agent.run(
        ( 
        """
        - 打开 url "https://yobang.tencentmusic.com/chart/uni-chart/rankList/"
        - 检查页面是否有 "close" 按钮,如果有则点击 "close" 按钮
        - 进入日榜
        - 点击
        """
         ))


if __name__ == "__main__":
    asyncio.run(main())

交互效果

iOS 端的交互效果与 Android 端类似,通过 WebDriverAgent 实现对 iOS 设备的自动化控制。


步骤报告

报告内容为每个步骤对应页面的元素信息详情(包括元素位置、大小、识别内容、周围元素等),方便调试与回顾。报告格式与 Android 端保持一致。 步骤报告示例

Web浏览器自动化用例

目标

在浪潮音乐大赏官网内,查看浪潮评委会信息,并进入浪潮评委官网

脚本

import asyncio

from page_eyes.agent import WebAgent, AndroidAgent


async def main():
    # PC Web端
    ui_agent = await WebAgent.create(simulate_device='Intel MacBook Pro 13-inch', debug=True)

    report = await ui_agent.run(
        ('1.打开 url "https://wma.wavecommittee.com/"\n'
         '2.点击"浪潮评委会成员"tab\n'
         '3.上滑页面,直到出现"查看浪潮评委会"\n'
         '4.点击"查看浪潮评委会"按钮\n'
         ))


if __name__ == "__main__":
    asyncio.run(main())

交互效果


步骤报告

下图为PC端打开页面的元素信息详情

步骤报告示例

点击查看元素信息详情示例