当前位置: 首页 > news >正文

泉州seo网站关键词优网站有源码之后怎么建设网站

泉州seo网站关键词优,网站有源码之后怎么建设网站,wordpress中文分享插件下载,品牌建设金点子接口自动化过程中#xff0c;经常会遇到这样一些场景#xff0c;“请求2需要用到请求1响应的数据”#xff0c;常见的做法#xff0c;进行用例依赖或者将请求1的响应结果写入一个文件#xff0c;用到的时候读取文件。 当然这都不是这篇文章的重点#xff0c;本片文章主要…接口自动化过程中经常会遇到这样一些场景“请求2需要用到请求1响应的数据”常见的做法进行用例依赖或者将请求1的响应结果写入一个文件用到的时候读取文件。 当然这都不是这篇文章的重点本片文章主要介绍cache写入和读取缓存数据。 request.config.cache 还不了解request fixture的同学可以先看看前面一篇文章《pytest 的 request fixture实现个性化测试需求》 我们先看看使用案例 def test_01(cache):cache.set(token, uiouoouoiou)def test_02(cache):r cache.get(token, None)这样段代码在执行test_01会将token值缓存任何执行test_02时就可以从缓存中读取token值。 那Cache是如何实现的呢我们一起来看看源码。 源码直达https://github.com/pytest-dev/pytest/blob/main/src/_pytest/cacheprovider.py 实现原理 def test_01(cache):cache.set(token, {token: 1212121})我们在cache.set()这一行进行断点debug执行后debug结果为 cache Cache() _CACHE_PREFIX_DIRS d _CACHE_PREFIX_VALUES v _cachedir /PycharmProjects/panda-test/org/.pytest_cache _config _pytest.config.Config object at 0x109e80d60可以看到会自动创建一个缓存实例而且初始化了一些数据默认应该缓存文件会在.pytest_cache目录下 /_pytest/cacheprovider.py fixture def cache(request: FixtureRequest) - Cache:Return a cache object that can persist state between testing sessions.cache.get(key, default)cache.set(key, value)Keys must be / separated strings, where the first part is usually thename of your plugin or application to avoid clashes with other cache users.Values can be any object handled by the json stdlib module.assert request.config.cache is not Nonereturn request.config.cache可以看到cache返回的是Cache对象我们看看Cache对象是如何实现的 def set(self, key: str, value: object) - None:path self._getvaluepath(key)try:if path.parent.is_dir():cache_dir_exists_already Trueelse:cache_dir_exists_already self._cachedir.exists()path.parent.mkdir(exist_okTrue, parentsTrue)except OSError:self.warn(could not create cache path {path}, pathpath, _ispytestTrue)returnif not cache_dir_exists_already:self._ensure_supporting_files()data json.dumps(value, ensure_asciiFalse, indent2)try:f path.open(w, encodingUTF-8)except OSError:self.warn(cache could not write path {path}, pathpath, _ispytestTrue)else:with f:f.write(data)这段源码就是用来将键值对保存到缓存中。 代码比较简单简单解释一下 1、获取要保存的键值对的路径通过调用 _getvaluepath() 方法根据给定的键key获取值value在缓存中的路径path。 这里的路径是一个字符串使用/分隔不同的层级通常第一个名称是插件或应用程序的名称。 2、检查路径是否存在通过判断路径的父目录是否为目录来确定是否需要创建路径。 如果父目录已经存在则 cache_dir_exists_already 设置为 True 否则它会检查缓存目录是否存在并且如果缓存目录已经存在则 cache_dir_exists_already 设置为 True否则创建缓存目录。 3、确保支持文件已存在如果缓存目录是新创建的则调用 _ensure_supporting_files() 方法确保支持文件存在。 这个方法可能是用来创建其他与缓存相关的文件或目录。 4、序列化数据并写入文件将值value使用 JSON 格式进行序列化以确保它是基本的 Python 类型或包含了嵌套类型例如列表和字典。 然后尝试打开路径对应的文件使用 UTF-8 编码并将序列化后的数据写入文件中。 def get(self, key: str, default):path self._getvaluepath(key)try:with path.open(r, encodingUTF-8) as f:return json.load(f)except (ValueError, OSError):return default这段源码用来从缓存中获取指定键的值简单解释一下 1、获取要获取值的路径通过调用 _getvaluepath() 方法根据给定的键key获取值在缓存中的路径path。 这里的路径是一个字符串使用 / 分隔不同的层级通常第一个名称是插件或应用程序的名称。 2、尝试读取文件并返回已缓存的值使用路径对应的文件使用 UTF-8 编码打开并使用 json.load(f) 将文件中的数据加载为 Python 对象。 然后将加载的值返回。 3、处理异常情况如果无法将文件中的内容解析为有效的 JSON 数据或者打开文件失败则捕获异常ValueError 和 OSError并返回默认值default。 这里还是学习到了一种新奇的写法以前没用过with path.open(“r”, encoding“UTF-8”) as f:等价于open(path, “r”, encoding“UTF-8”) 这是两个常用的方法当然还提供了更多方法这里简单介绍一下 1、init(self, cachedir: Path, config: Config, *, _ispytest: bool False) - None 初始化方法用于设置类的属性 _cachedir 和 _config。 2、for_config(cls, config: Config, *, _ispytest: bool False) - “Cache” 类方法根据给定的配置信息创建并返回 Cache 实例。 如果配置项 cacheclear 设置为 True并且缓存目录存在则调用 clear_cache 方法清空缓存。 最后返回一个新的 Cache 实例。 3、clear_cache(cls, cachedir: Path, _ispytest: bool False) - None 类方法清空缓存目录下的子目录。 根据参数 cachedir 构建子目录路径并使用 rm_rf 函数递归删除该目录。 4、cache_dir_from_config(config: Config, *, _ispytest: bool False) - Path 静态方法从给定的配置信息中获取缓存目录的路径。 首先从配置中获取缓存目录的字符串表示然后使用 resolve_from_str 函数将其解析为 Path 对象返回。 5、warn(self, fmt: str, *, _ispytest: bool False, **args: object) - None 发出缓存警告的方法。 使用 warnings.warn 函数发出警告信息并指定警告类型为 PytestCacheWarning。 如果存在参数 args则将其作为格式化参数替换格式字符串中的占位符。 6、mkdir(self, name: str) - Path 创建一个目录路径对象并在缓存目录下创建该目录。 参数 name 是要创建的目录名称。 检查目录名是否包含路径分隔符 /如果有则抛出异常。 使用 _cachedir.joinpath 方法构建完整的目录路径并使用 mkdir 方法创建目录。 返回创建的目录路径对象。 7、_getvaluepath(self, key: str) - Path 根据给定的键生成值文件的路径。 在缓存目录下构建值文件路径使用 _CACHE_PREFIX_VALUES 作为子目录前缀。 8、_ensure_supporting_files(self) - None 创建缓存目录中的支持文件。 创建 README.md 文件用于说明缓存目录的用途。 创建 .gitignore 文件忽略缓存目录下的所有文件。 创建 CACHEDIR.TAG 文件用于标记缓存目录。 最后 cache功能还是很实用的比如登录功能可以在登录之后将token写入缓存这样进行其他接口请求时需要token时直接从缓存获取token即可。 感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
http://www.pierceye.com/news/643553/

相关文章:

  • 购物网站开发流程图大连装修公司
  • 网站开发定制推广杭州手表网站域名
  • 惠州网站建设方案推广企业网站必备模块
  • 网站内页产品做跳转做电商有哪些平台
  • 如何自建网站服务器wordpress下载权限
  • 重庆专业网站设计服务做染料的网站
  • 长春模板建站公司浙江住房和建设厅网站
  • 网站建设公司 佛山南京移动网站建设
  • 网站建设目录规范微信h5网站开发
  • 做ppt卖给网站枣庄做网站优化
  • 新乡营销型网站建设做软件的中介网站
  • 延边州建设局网站软件公司主要做哪些
  • 建设网站带后台管理程序制作软件
  • 榆林市住房和城市建设局网站梁志天设计公司项目
  • 建设网站怎么搞做非法网站判刑多少年
  • 做查询网站 发布数据wordpress nextapp
  • 福鼎建设局网站首页上海社区网站建设
  • 企业网站免费推广方案wordpress文章类模板
  • 从化区住房和建设局网站网站开发所需要的的环境
  • 深圳微商城网站制作联系电话国家信息网
  • 网站没有收录怎么办巴中城乡和住房建设厅网站
  • 做个网站要钱吗wordpress动漫网站模板
  • 高性能网站建设进阶指南下载wdcp 快速迁移网站
  • 建设教育协会网站房产资讯的网站怎么做
  • 网站网页怎么做如何查看网站做没做竞价
  • 济南建网站的网站l临沂建设工程信息网站
  • 网站建设美词原创php网站开发实验总结
  • 遵义建设厅网站如何申请个人网站域名
  • 济南建设网官方网站合肥市建设行政主管部门网站
  • 书怎么做pdf下载网站信息流优化师需要具备哪些能力