基于python实现微信收红包自动化测试脚本(测试用例)
作者:软件测试自动化测试 发布时间:2022-01-03 11:38:34
标签:python,微信收红包,自动化测试
测试用例(1)
测试用例(2)
代码如下(python):
# coding=utf-8
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android',
#使用哪种平台
'deviceName': '158bcb1',
#启用设备名称
'platformVersion': '5.1',
#指定平台的系统版本
'appPackage': 'com.tencent.mm',
#待测试的app的package
'appActivity': 'com.tencent.mm.ui.LauncherUI'
#待测试的Activity的名字
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
time.sleep(5)
#打开微信后等待5s时间
'''
def getSize():
x = driver.get_window_size()['width']
y = driver.get_window_size()['height']
return(x,y)
def swipeUp(t):
l = getSize()
x1 = int(l[0] * 0.5)
y1 = int(l[1] * 0.75)
y2 = int(l[1] * 0.25)
driver.swipe(x1,y1,x1,y2,t)
'''
num = 0
num0 = 0
while 1:
driver.find_element_by_id("com.tencent.mm:id/an7").click()
#点开最顶端的群聊
try:
driver.find_element_by_id("com.tencent.mm:id/a92").click()
#如果有多条消息未读按钮,则点击以到达未读消息顶端
except:
while num0 < 5:
if num < 5:
try:
driver.find_element_by_id("com.tencent.mm:id/abz").click()
#如果找到红包,则打开
except:
driver.swipe(300,1000,300,300,0)
num0 += 1
#没有找到红包,则向上大幅度划动一次,num0+1
try:
driver.find_element_by_id("com.tencent.mm:id/bv8").click()
#如果打开了红包,则点击“开”
except:
num += 1
#如果五次打不开红包,则认为此群的没有可以继续打开的红包,退出群聊
try:
driver.find_element_by_id("com.tencent.mm:id/hg").click()
#领取完红包之后,点击左上角的箭头以返回
except:
pass
try:
driver.find_element_by_id("com.tencent.mm:id/bsv").click()
#如果红包未领取完已过期,则点击×返回
except:
pass
driver.swipe(100,450,100,200,0)
#向下滑动以找到下一个红包的位置
else:
break
try:
driver.find_element_by_id("android:id/text1").click()
#执行完毕,退出群聊
except:
driver.find_element_by_id("com.tencent.mm:id/h1").click()
#如果点开了公众号列表,则点击左上角退出
num = 0
num0 = 0
time.sleep(1)
driver.swipe(100,400,100,200,0)
#找到下一个群聊的位置
'''
names_all = driver.find_elements_by_id("com.tencent.mm:id/an7")
#"com.tencent.mm:id/an7"为所有昵称的id,首先收集所有昵称的id到变量names_all
target = "434脱单率100%"
target_trans = target.decode("utf-8")
for n in names_all:
if n.get_attribute("text") == target_trans:
n.click()
break
'''
#测试工具为appium
来源:https://blog.csdn.net/ZangKang1/article/details/118547251
0
投稿
猜你喜欢
- 一、背景主流被使用的地理坐标系并不统一,导致我们从不同平台下载的数据由于坐标系的差异往往对不齐。这个现象在多源数据处理的时候往往很常见,因此
- 一、用 ftplib 模块连接远程服务器ftplib模块常用方法ftp登陆连接from ftplib import FTP #加
- tf.nn.conv2d与tf.layers.conv2d的区别在写CNN中注意到tensorflow目前有tf.nn.conv2d和tf.
- 相对于http协议,http是的特点就是他的安全性,http协议的通信内容用普通的嗅探器可以捕捉到,但是https协议的内容嗅探到的是加密后
- DataTable dt = new DataTable(); dt = ds.Tables["All"].Clone(
- 本文实例讲述了php解析字符串里所有URL地址的方法。分享给大家供大家参考。具体如下:<?php// $html = the html
- 一、安装步骤 1.官网下载安装包2.安装一路next即可,安装位置可改到D盘3.添加环境变量将如上路径添加到系统path,不会的参
- 函数签名对象,表示调用函数的方式,即定义了函数的输入和输出。在Python中,可以使用标准库inspect的一些方法或类,来操作或创建函数签
- 本文实例讲述了js+html5实现canvas绘制镂空字体文本的方法。分享给大家供大家参考。具体实现方法如下:<!DOCTYPE ht
- PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP
- 本文实例讲述了javascript获取select值的方法。分享给大家供大家参考,具体如下:<!DOCTYPE html><
- 1.简介当一个表数据量很大时候,很自然我们就会想到将表拆分成很多小表,在执行查询时候就到各个小表去查,最后汇总数据集返回给调用者加快查询速度
- 一、定义(1)如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数 T(n)称为这一算法的“时间复杂性”。我
- 概述一般在开发中,查询网络API操作时往往是比较耗时的,这意味着可能需要一段时间的等待才能获得响应。因此,为了避免程序在请求时无响应的情况,
- 一、为什么要包管理默认Go的第三方包都是放在Gopath的src目录下,而且这些包都没有版本号的概念,这样的可能会出现一些问题。举个例子:当
- 首先将ORACLE 10g的安装光盘放入光驱,如果自动运行,一般会出现如图1安装界面: 图1 单击“开始安装”,就可以安装ORACLE 10
- 很多时候我们都需要了解下python中导入包的属性方法信息,当然dir 是最便捷的了,不过如果想知道特定的,例如以_ 开头的属性,需要写个筛
- 一、本节说明我们在开发过程中经常需要监听用户的输入,比如:用户的点击事件、拖拽事件、键盘事件等等。这就需要用到我们下面要学习的内容v-on指
- 1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个
- 本文实例讲述了wxPython主框架的简单用法,分享给大家供大家参考。具体如下:程序代码如下:import wx class MyApp(w