You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tricentis Tosca中如何验证random expressions生成的随机手机号与邮箱

随机生成测试数据的后续验证方案

核心逻辑是在生成随机值的步骤就将值存入测试上下文的可复用变量中,后续全流程统一调用该变量,不需要提前写死固定预期值。

通用实现步骤

  • 生成随机值后立即存储到测试用例/全局级别的变量中。如果你用的是代码类测试框架(比如Python+Selenium、Java+Appium),直接定义random_phone、random_email两个变量存储生成结果即可;如果是Postman、JMeter、测试平台这类工具,将值存入环境变量/全局变量即可,比如Postman内可以写pm.environment.set("random_phone", 生成的手机号)完成存储。
  • 所有提交、调用该数据的步骤,统一调用你存储的变量,不要二次调用随机表达式重新生成,避免前后值不一致。
  • 验证阶段直接拿存储的变量作为预期值,和页面/接口返回的实际展示值做断言即可。

参考代码示例(Python+Selenium)

import random
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

# 生成随机值并存储
random_phone = f"13{random.randint(100000000, 999999999)}"
random_email = f"test_{random.randint(1000,9999)}@example.com"

# 提交数据步骤统一调用存储的变量
driver.find_element(By.ID, "phone_input").send_keys(random_phone)
driver.find_element(By.ID, "email_input").send_keys(random_email)
driver.find_element(By.ID, "submit_btn").click()

# 验证步骤直接拿存储的变量作为预期值
actual_phone = driver.find_element(By.ID, "display_phone").text
actual_email = driver.find_element(By.ID, "display_email").text
assert actual_phone == random_phone, "手机号展示不符合预期"
assert actual_email == random_email, "邮箱展示不符合预期"

注意事项

  • 不要在断言阶段重新调用随机生成函数生成预期值,两次生成的结果必然不一致,会导致断言失效。
  • 如果涉及跨测试用例传递值,要确认变量的作用域覆盖到对应用例,避免变量失效拿不到值。
  • 如果有跨测试流程的持久化验证需求,可以额外把生成的值写入临时文件/测试数据库,后续验证时读取对应值做匹配即可。

内容的提问来源于stack exchange,提问作者Kausal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:57:03