全局变量在API&UI&Pytest中使用方式
重要提醒
- 跟jmeter类似,使用 **`${{缓存的key}}`** 方法来进行替换中间的内容
- 可以使用**公共方法**中的一些随机数据帮助您进行测试获取缓存数据
- 可以在缓存数据中查看缓存的key,API&UI&Pytest都有提供设置缓存方法
用法:${{缓存的key}} 示例:${{user_id}}获取随机测试数据
用法:${{方法名称()}} 示例:${{random_0_5()}}获取随机测试数据+存到缓存
增加一个|符号即可获取完成之后直接存起来
用法:${{方法名称()|缓存的key}} 示例:${{random_0_5()|key}}获取带参数的随机测试数据
用法:${{方法名称(参数=1,参数=10)}} 示例:${{randint(left=1,right=10)}}可以在模块【帮助-随机数据】中进行测试

实际代码中替换逻辑如下
mango-pytest项目和自定义函数使用可参考
python
import unittest
from mangotools.data_processor import DataProcessor
class TestCache(unittest.TestCase):
def test_001(self):
"""设置缓存和使用缓存"""
value = '设置到缓存中'
processor = DataProcessor()
processor.set_cache('value', value) # 首先我们把value设置一个值
assert processor.get_cache('value') == value
return processor.get_cache('value')
def test_002(self):
"""替换${{}}中间的内容"""
key = '芒果测试平台'
value = '替换:${{key}}'
processor = DataProcessor()
processor.set_cache('key', key) # 首先我们把value设置一个值
assert processor.replace(value) == '替换:芒果测试平台'
return processor.replace(value) # 调用replace进行替换
def test_003(self):
"""获取公共方法中的数据"""
processor = DataProcessor()
assert processor.replace('${{md5_32_small(123456)}}') is not None
return processor.replace('${{md5_32_small(123456)}}')
def test_004(self):
"""直接将获取到的内容存到缓存中"""
str_ = "我是基于时间戳的5位随机数:${{number_time_5()|flow名称}}"
processor = DataProcessor()
value = processor.replace(str_)
assert value == f"我是基于时间戳的5位随机数:{processor.get_cache('flow名称')}"
return f"我是基于时间戳的5位随机数:{processor.get_cache('flow名称')}"
def test_005(self):
"""获取公共方法中的数据"""
processor = DataProcessor()
processor.set_cache('key', '123456')
assert processor.get_cache('key') == '123456'
assert processor.replace('${{md5_32_small(${{key}})}}') == 'e10adc3949ba59abbe56e057f20f883e'
def test_006(self):
processor = DataProcessor()
processor.set_cache('key', '123456')
assert processor.get_cache('key') == '123456'
assert processor.replace('${{md5_32_small(string=${{key}})}}') == 'e10adc3949ba59abbe56e057f20f883e'
def test_007(self):
processor = DataProcessor()
processor.set_cache('key', '123456')
assert processor.get_cache('key') == '123456'
assert processor.replace('${{md5_32_small(${{key}})}}') == 'e10adc3949ba59abbe56e057f20f883e'
def test_008(self):
processor = DataProcessor()
processor.set_cache('key', '123456')
assert processor.get_cache('key') == '123456'
assert processor.replace('${{md5_32_small(${{key}},)}}') == 'e10adc3949ba59abbe56e057f20f883e'