Appium + Python 测试 QQ 音乐 APP的一段简单脚本
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的一段简单脚本的更多相关文章
- Appium + Java 测试 [百度地图] APP的一段简单脚本
1. 流程 进入 app ,手动处理前段预处理,程序一直等候到达指定搜索地名页面,填入[南通大学],点击[搜索] 2. Java 脚本 // part 1: 引入需要的包 import io.appi ...
- appium+python自动化46-安装app三种方式
前言 adb安装 1.在app自动化之前,首先手机上有要被测试的app,如何把电脑本地上的app安装到手机上呢?可以在运行自动化代码前,在cmd输入adb指令,把电脑app安装到手机上 adb ins ...
- 个人作业2:QQ音乐APP案例分析
APP案例分析 QQ音乐 选择理由:毕竟作为QQ音乐九年的资深老用户以及音乐爱好者 第一部分 调研 1.第一次上手的体验 我算是很早期的QQ音乐的用户,用QQ音乐七八年,除了体验各方面还不错之外 ...
- Appium+python测试app实例
Appium和selenium差不到,只是一个用于测web,一个用于测APP.下面记录一下我搭的测试框架,同样是基于PO模式,用的unittest. 最后测试报告如下: 1.1 代码结构 这 ...
- appium+python测试app使用相对坐标定位元素
我们获取到的是绝对坐标,如果换一个屏幕分辨率不同的手机那这个坐标自然会发生变化,要实现不同手机均能实现点击同一控件自然要用到相对坐标了,具体方法如下: 1.获取当前空间的绝对坐标(x1,y1),开启指 ...
- 利用Appium Python测试爱壁纸的登录和设置壁纸
设置壁纸: #coding:utf-8 #Import the common package import os import unittest from appium import webdrive ...
- Appium+Python自动化 3 -获取 app 包名和 activity
方法一: ①手机通过USB连接电脑 ②打开手机上被测app ③在电脑上 dos命令窗口,输入命令 adb shell dumpsys window w | findstr \/ | findstr n ...
- Appium Python测试环境搭建
详细参考地址:https://www.cnblogs.com/amoyshmily/p/10500687.html 1,Appium安装:https://github.com/appium/appiu ...
- Python测试进阶——(7)动手编写Bash脚本启动Python监控程序并传递PID
如下: #./cf_workload_functions.sh function timestamp(){ # get current timestamp sec=`date +%s` nanosec ...
随机推荐
- 大数据学习(二)-------- MapReduce
前提已经安装好hadoop的hdfs集群,可以查看 https://www.cnblogs.com/tree1123/p/10683570.html Mapreduce是hadoop的运算框架,可以对 ...
- java实验环境搭建,eclise下载与使用
一.1.官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载后安装,默认安装即可. 2.在 wind ...
- Image 图片
随机矩阵画图 这一节我们讲解怎样在matplotlib中打印出图像.这里打印出的是纯粹的数字,而非自然图像.下面用 3x3 的 2D-array 来表示点的颜色,每一个点就是一个pixel. impo ...
- Program Hyundai i20 Smart Key with VVDI & Xtool X100 Pad2
How-to: generate and program Hyundai i20 smart key with VVDI Mini Key Tool and XTOOL X100 PAD2. Step ...
- Mysql必知必会 第一章 了解SQL
第一章 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库的定义:保存有组织的数据的容器 数据库软件不是数据库,而是DBMS 1.1.2 表 表(Table)的定义:某种特定类型数据的结 ...
- fmt.printf输出的格式
动 词 功 能 %v 按值的本来值输出 %+v 在 %v 基础上,对结构体字段名和值进行展开 %#v 输出 Go 语言语法格式的值 %T 输出 Go 语言语法格式的类型和值 %% 输出 % 本体 %b ...
- parseInt ,parseDouble,parseFloat
转载https://www.cnblogs.com/originate918/p/6377616.html
- javaMail的使用以及trying to connect to host "1xxx@163.com", port 25, isSSL false异常
最近项目用到邮件系统,开始了解javaMail...话不多说先上代码: pom依赖: <!-- 邮件 https://mvnrepository.com/artifact/javax.m ...
- python 环境变量设置PYTHONPATH
PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找. 打印PYTHONPATH: import os print sys.path >['' ...
- xbee PRO S2C的多固件烧写
XBee and XBee-PRO ZB 嵌入式射频模块是与ZigBee/IEEE 802.15.4兼容的解决方案,可以满足低成本低功耗无线传感网络的特殊需求.该模块易于使用,极低的功耗,以及提供设备 ...