-
C#教程之《自拍教程49》Python_adb批量字符输入
本站最新发布 C#从入门到精通
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
Android终端产品系统或App测试,涉及输入框边界值测试,
比如wifi热点设置热点名称, 或者搜索输入框,
需要验证该文本输入框是否最多可以输入256个字符,
如何快速实现进准的256个字符的输入呢?
准备阶段
- 手动先点击wifi热点名称文本输入框,确保光标已经在编辑框内了
- 利用adb shell input text + 256个字符, 可以输入256字符串输入
- string.ascii_letters 可以包含大小写的英文字母
- string.digits 可以包含数字1-10
-
random.sample 可以随机实现从一个数组“池” 里随机采样
Python批处理脚本形式
# coding=utf-8
import os
import string
import random
chars_num = 256 # chars num字符数量
random_list = random.sample((string.ascii_letters + string.digits) * 5, chars_num - 8)
random_str = ''.join(random_list)
random_str = "START" + random_str + "END"
print(random_str)
os.system("adb shell input text %s" % random_str)
print("Inputed %s chars, please check the \"START\" and \"END\" keyword" % chars_num)
os.system("pause")
random.sample需要确保数组“池”里的数据足够多,所以需要:
(string.ascii_letters + string.digits) * 5
Python面向过程函数形式
# coding=utf-8
import os
import string
import random
def input_text(chars_num):
if chars_num > 8:
random_list = random.sample((string.ascii_letters + string.digits) * 5, chars_num - 8)
random_str = ''.join(random_list)
random_str = "START" + random_str + "END"
print(random_str)
os.system("adb shell input text %s" % random_str)
print("Inputed %s chars, please check the \"START\" and \"END\" keyword" % chars_num)
else:
print("chars num too short...")
input_text(256)
os.system("pause")
Python面向对象类形式
# coding=utf-8
import os
import string
import random
class TextInputer():
def __init__(self):
pass
def input_text(self, chars_num):
if chars_num > 8:
random_list = random.sample((string.ascii_letters + string.digits) * 5, chars_num - 8)
random_str = ''.join(random_list)
random_str = "START" + random_str + "END"
print(random_str)
# os.system("adb shell input text %s" % random_str)
print("Inputed %s chars, please check the \"START\" and \"END\" keyword" % chars_num)
else:
print("chars num too short...")
t_obj = TextInputer()
t_obj.input_text(256)
os.system("pause")
运行方式与效果
确保Android设备通过USB线与电脑连接了,adb设备有效连接,
以上代码的3种实现形式都可以直接运行,比如保存为input_text.py并放在桌面,
建议python input_text.py运行,当然也可以双击运行。
运行效果如下:
栏目列表
最新更新
C# 面向对象
假设客车的座位数是9行4列,使用二维数
C#基于接口设计三层架构Unity篇
C#线程 入门
C#读取静态类常量属性和值
C# 插件式编程
C# 委托与事件有啥区别?
C#队列学习笔记:队列(Queue)和堆栈(Stack
linq 多表分组左连接查询查询统计
C#队列学习笔记:MSMQ入门一
C# 在Word中添加Latex 数学公式和符号
inncheck命令 – 检查语法
基于UDP的服务器端和客户端
再谈UDP和TCP
在socket编程中使用域名
网络数据传输时的大小端问题
socket编程实现文件传输功能
如何优雅地断开TCP连接?
图解TCP四次握手断开连接
详细分析TCP数据的传输过程
SqlServer 利用游标批量更新数据
BOS只读状态修改
SQL Server等待事件—PAGEIOLATCH_EX
数据库多行转换为单一列
获取数据表最后最后访问,修改,更新,
计算经历的时间
SQL查询结果自定义排序
修改数据库默认位置
日期简单加或减
从日期获取年,月或日