1. 大致流程

+  程序(Python):打开 QQ 音乐,点击一系列接收按键,进入搜索音乐界面,输入『Paradise』,播放第一首音乐。

2. Python 脚本如下


from appium import webdriver
import time desired_caps = {}
desired_caps['platformName'] = 'Android' # adb shell getprop ro.build.version.release 获得版本号
desired_caps['platformVersion'] = '6.0' desired_caps['deviceName'] = 'Android Emulator'
# adb shell dumpsys package packages | grep "Package \[" 获取已安装的 appPackage Name
desired_caps['appPackage'] = 'com.tencent.qqmusic' # adb shell dumpsys activity activities | grep "realActivity" 获得 appActivity
desired_caps['appActivity'] = '.activity.AppStarterActivity' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 一系列点击
# page1 SD
driver.find_element_by_id('com.tencent.qqmusic:id/y3').click()
time.sleep(1) # page2 电话 com.android.packageinstaller:id/permission_allow_button
driver.find_element_by_id('com.android.packageinstaller:id/permission_allow_button').click()
# driver.findElementByXPath("//android.widget.Button[@text='始终允许']").click();
time.sleep(1) # page3
driver.find_element_by_id('com.android.packageinstaller:id/permission_allow_button').click()
time.sleep(1) # page4 com.tencent.qqmusic:id/v3 跳过
driver.find_element_by_id('com.tencent.qqmusic:id/v3').click()
time.sleep(1) # page5 取消登录
driver.find_element_by_id('com.tencent.qqmusic:id/lh').click()
time.sleep(1) # page6 点击收缩
driver.find_element_by_id('com.tencent.qqmusic:id/t3').click()
time.sleep(1) # page7
driver.find_element_by_id('com.tencent.qqmusic:id/a7j').click()
search_box = driver.find_element_by_id('com.tencent.qqmusic:id/a7j')
search_box.click()
search_box.send_keys('paradise') # 输入检索的歌名,不支持中文(好像?)
time.sleep(2) # com.tencent.qqmusic:id/cb3
driver.find_element_by_id('com.tencent.qqmusic:id/cb3').click()
time.sleep(1) # com.tencent.qqmusic:id/a55
driver.find_element_by_id('com.tencent.qqmusic:id/a55').click()
time.sleep(1)

3. 程序运行视频(录屏)

Appium + Python 测试 QQ 音乐 APP的一段简单脚本的更多相关文章

  1. Appium + Java 测试 [百度地图] APP的一段简单脚本

    1. 流程 进入 app ,手动处理前段预处理,程序一直等候到达指定搜索地名页面,填入[南通大学],点击[搜索] 2. Java 脚本 // part 1: 引入需要的包 import io.appi ...

  2. appium+python自动化46-安装app三种方式

    前言 adb安装 1.在app自动化之前,首先手机上有要被测试的app,如何把电脑本地上的app安装到手机上呢?可以在运行自动化代码前,在cmd输入adb指令,把电脑app安装到手机上 adb ins ...

  3. 个人作业2:QQ音乐APP案例分析

    APP案例分析 QQ音乐 选择理由:毕竟作为QQ音乐九年的资深老用户以及音乐爱好者 第一部分 调研 1.第一次上手的体验    我算是很早期的QQ音乐的用户,用QQ音乐七八年,除了体验各方面还不错之外 ...

  4. Appium+python测试app实例

    Appium和selenium差不到,只是一个用于测web,一个用于测APP.下面记录一下我搭的测试框架,同样是基于PO模式,用的unittest. 最后测试报告如下: 1.1      代码结构 这 ...

  5. appium+python测试app使用相对坐标定位元素

    我们获取到的是绝对坐标,如果换一个屏幕分辨率不同的手机那这个坐标自然会发生变化,要实现不同手机均能实现点击同一控件自然要用到相对坐标了,具体方法如下: 1.获取当前空间的绝对坐标(x1,y1),开启指 ...

  6. 利用Appium Python测试爱壁纸的登录和设置壁纸

    设置壁纸: #coding:utf-8 #Import the common package import os import unittest from appium import webdrive ...

  7. Appium+Python自动化 3 -获取 app 包名和 activity

    方法一: ①手机通过USB连接电脑 ②打开手机上被测app ③在电脑上 dos命令窗口,输入命令 adb shell dumpsys window w | findstr \/ | findstr n ...

  8. Appium Python测试环境搭建

    详细参考地址:https://www.cnblogs.com/amoyshmily/p/10500687.html 1,Appium安装:https://github.com/appium/appiu ...

  9. Python测试进阶——(7)动手编写Bash脚本启动Python监控程序并传递PID

    如下: #./cf_workload_functions.sh function timestamp(){ # get current timestamp sec=`date +%s` nanosec ...

随机推荐

  1. LAB7 REST

    r需要初始化才能赋值. 不要盲目抄doGet方法,要理解题目的意思

  2. 《Java从入门到精通》学习总结1

    1. Java既是编译型语音,也是解释型语言:先将源代码编译成Java字节码,然后Java虚拟机对Java字节码进行解释运行 2. 使用命令行编译Java源代码时,如果代码中有中文,在编译时需要指定编 ...

  3. Win10下windows mobile设备中心连接不上的方法无法启动

    微软Win10自动更细补丁后windows mobile设备中心就无法启动了 需要重新启动相关的服务并授予 本机登录用户 权限 1.点击屏幕左下角“开始”图标,点击“运行”,在弹出的输入框中输入“se ...

  4. stm32-arduino-f103

    希望给工作中偶尔要用的一些辅助板卡(例如运行信息现场记录)找一个快速开发的手段,Arduino作为流行的开源嵌入硬件框架,组件丰富,资料众多,所以想以Arduino作为平台.但是Arduino板子基本 ...

  5. Vs2017的git真S B

    1.先是无法克隆 2.修改用户还是无法克隆 3.修改用户凭据还是无法克隆 4.重装机器,将vs改为2017企业版,他妈的还是无法克隆 5.测试发现我这台机子无法克隆,其他的可以 6.提示永远是 Git ...

  6. python基础之Day23

    1.封装 什么是? 封:明确地把属性隐藏起来 ,对外隐藏,对内开放 申请名称空间,往里面装入一系列名字 /属性(类比 类 和对象   只是装的概念) 为什么要用? __init__往对象里丢属性 封装 ...

  7. Mac使用笔记大全

    1.mac中,怎么直接在当前文件夹打开终端? 步骤:(1)在键盘-快捷键-服务,勾选“新建位于文件夹位置的终端窗口”.(2)然后在需要打开终端的文件夹上,右键,“新建位于文件夹位置的终端窗口”即可. ...

  8. windows任务栏IDEA图标变白色快速解决方法

    方案1:同时按Windows键+R键打开运行对话框,输入ie4uinit.exe -show然后回车即可修复. 方案2:打开计算机(Win7),此电脑(Win10)或任意文件夹,然后在地址栏输入cmd ...

  9. es6数组

    将两类对象转为真正的数组 Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和 ...

  10. js做的轮播图

    以下那些注释呢,都是要靠自己理解才是最重要的, <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...