目前 APP 端没有落地的产品
自动化是需要根据产品需求写对应脚本的,你这种可以试试 monkey 类遍历测试脚本工具
接口自动化团队少,可以用 apifox
测试用例可以用 pingcode
上面的都免费
国产 AI 很便宜的,可以放心用,而且还送好多量,之前用智谱有免费的 api,现在不知道还有没有了
这个证是什么行业的敲门砖?
你的痛点和目的是什么?
没什么好办法,多总结面试题,面试前多写写,不会还因为写的少,平时不能只简单的复制粘贴
期待你的分享
里面具体 http 状态码是什么,一般 4xx 是客户端,5xx 是服务端
你可以咨询下你们 app 端开发在接口没有 ready 之前是怎么调试的,学习一下。
如果测试点与加密无关,可以让 app 开发给你单独打一个不校验加密的包,或者在 app 上增加一个隐藏开关吗,可以跳过加密校验。
https://testerhome.com/topics/40069
看下这个工具,uiautodev,查找元素很方便,兼容新版 android 系统
一般都是落地 android 端,iOS 成本大,如果没有苹果机器先研究 Android 端的,比较容易落地,面试的话研究 Android 来提高就可以,具体执行等入职后再根据产品形态进行下一步落地方案,面试的话先从 Android 来
大模型调用和存储的成本如何,如果全套自动化测试下来需要 1K 张截图给大模型来计算, 成本如何?
试试下面的方法:
def swipe_up_count(count):
for _ in range(count): # 尝试滑动两次以确保成功
result = adb_swipe_up(
start_x_percent=0.5,
start_y_percent=0.8, # 调整起始点更靠近屏幕底部
end_x_percent=0.5,
end_y_percent=0.2, # 调整终点避免过度滑动
duration=500, # 增加滑动持续时间,使动作更平滑
)
if result:
print("滑动成功")
break
time.sleep(1)
def adb_swipe_up(
start_x_percent=0.5,
start_y_percent=0.7,
end_x_percent=0.5,
end_y_percent=0.3,
duration=300,
max_attempts=3,
delay=1,
):
"""使用 ADB 命令执行上滑操作,支持自定义滑动参数和重试机制
该函数提供以下功能:
1. 支持通过百分比设置滑动起始和终点位置
2. 自动获取设备屏幕尺寸并计算实际坐标
3. 可配置滑动持续时间
4. 内置重试机制,处理滑动失败的情况
Args:
start_x_percent (float): 起始点 x 坐标在屏幕宽度上的百分比,默认 0.5(屏幕中间)
start_y_percent (float): 起始点 y 坐标在屏幕高度上的百分比,默认 0.7(屏幕偏下位置)
end_x_percent (float): 终点 x 坐标在屏幕宽度上的百分比,默认 0.5(屏幕中间)
end_y_percent (float): 终点 y 坐标在屏幕高度上的百分比,默认 0.3(屏幕偏上位置)
duration (int): 滑动持续时间(毫秒),默认 300ms
max_attempts (int): 最大重试次数,默认 3 次
delay (int): 重试间隔时间,默认 1 秒
Returns:
bool: 滑动操作是否成功。成功返回 True,失败返回 False
"""
for attempt in range(max_attempts):
try:
# 获取屏幕尺寸
output = subprocess.check_output(["adb", "shell", "wm", "size"])
size_str = output.decode("utf-8").strip()
width, height = map(int, size_str.split(": ")[1].split("x"))
# 计算实际滑动坐标
start_x = int(width * start_x_percent)
start_y = int(height * start_y_percent)
end_x = int(width * end_x_percent)
end_y = int(height * end_y_percent)
print(
f"开始执行滑动操作:从 ({start_x}, {start_y}) 滑动到 ({end_x}, {end_y})"
)
# 执行滑动操作
try:
subprocess.run(
[
"adb",
"shell",
"input",
"swipe",
str(start_x),
str(start_y),
str(end_x),
str(end_y),
str(duration),
],
check=True,
)
time.sleep(0.5) # 等待滑动动画完成
print("滑动操作执行成功")
return True
except subprocess.CalledProcessError as swipe_error:
print(f"滑动操作执行失败: {swipe_error}")
except Exception as e:
print(f"第 {attempt + 1} 次滑动尝试失败: {e}")
time.sleep(delay)
return False
具体代码块发一下,滑动好好多方式,看你用的哪个?看报错是 http 不支持
用下面的 adb 滑动方法试试
def adb_swipe_up(
start_x_percent=0.5,
start_y_percent=0.7,
end_x_percent=0.5,
end_y_percent=0.3,
duration=300,
max_attempts=3,
delay=1,
):
"""使用 ADB 命令执行上滑操作,支持自定义滑动参数和重试机制
该函数提供以下功能:
1. 支持通过百分比设置滑动起始和终点位置
2. 自动获取设备屏幕尺寸并计算实际坐标
3. 可配置滑动持续时间
4. 内置重试机制,处理滑动失败的情况
Args:
start_x_percent (float): 起始点 x 坐标在屏幕宽度上的百分比,默认 0.5(屏幕中间)
start_y_percent (float): 起始点 y 坐标在屏幕高度上的百分比,默认 0.7(屏幕偏下位置)
end_x_percent (float): 终点 x 坐标在屏幕宽度上的百分比,默认 0.5(屏幕中间)
end_y_percent (float): 终点 y 坐标在屏幕高度上的百分比,默认 0.3(屏幕偏上位置)
duration (int): 滑动持续时间(毫秒),默认 300ms
max_attempts (int): 最大重试次数,默认 3 次
delay (int): 重试间隔时间,默认 1 秒
Returns:
bool: 滑动操作是否成功。成功返回 True,失败返回 False
"""
for attempt in range(max_attempts):
try:
# 获取屏幕尺寸
output = subprocess.check_output(["adb", "shell", "wm", "size"])
size_str = output.decode("utf-8").strip()
width, height = map(int, size_str.split(": ")[1].split("x"))
# 计算实际滑动坐标
start_x = int(width * start_x_percent)
start_y = int(height * start_y_percent)
end_x = int(width * end_x_percent)
end_y = int(height * end_y_percent)
print(
f"开始执行滑动操作:从 ({start_x}, {start_y}) 滑动到 ({end_x}, {end_y})"
)
# 执行滑动操作
try:
subprocess.run(
[
"adb",
"shell",
"input",
"swipe",
str(start_x),
str(start_y),
str(end_x),
str(end_y),
str(duration),
],
check=True,
)
time.sleep(0.5) # 等待滑动动画完成
print("滑动操作执行成功")
return True
except subprocess.CalledProcessError as swipe_error:
print(f"滑动操作执行失败: {swipe_error}")
except Exception as e:
print(f"第 {attempt + 1} 次滑动尝试失败: {e}")
time.sleep(delay)
return False
确保每个页面都被点击需要额外控制,点击频率可以统计 activity,工具的话可以搜一下,有工具可以直接用,但是无法保证每个页面都被点到,因为有些页面是需要特定条件才能点进去的,需要二次开发才行
问答机器人可以整理一下之前用户的反馈和问的问题当做数据进行测试,这个应该也是有个产品文档和分类的吧,按照需求来就行,还是要针对业务来测,我们不知道你们业务其实没有好的建议
不找同行,我们这行圈子不大,除非别人介绍
cursor 或者 trae 直接给你生成几个,选一个适合自己的就行,像 apifox 这种不需要写代码的工具不可以吗?用 python 写需要考虑后期成本和团队技术能力是否达标
apifox 了解一下