在python的beh中遍历目录

2024-05-18 16:16:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python的behavebdd工具,我有一个xml配置文件目录,在运行其他端到端测试之前,我想对这些文件运行一些自动测试。我已经开始使用场景大纲编写一些功能文件,只是列出了大纲中的所有文件名,但随着新文件的添加,扩展性并不好。你知道吗

或者,我正在研究读取目录中的所有文件名,并使用中的“before\u scenario”函数将它们作为一个列表放到上下文变量中环境.py. 我看到的问题是,您一次测试所有文件,而不是将每个文件作为自己的场景和自己的步骤集进行检查,这不是工具的目的。你知道吗

我想我想做的是一个场景大纲,但是不生成静态表。有几十个文件,所以如果我不必静态地定义所有内容,那就最好了。我不确定这是否真的得到了支持,但也许其他人已经解决了这个问题。你知道吗

# Created by max at 8/2/18
Feature: XML syntax validation
  # Enter feature description here
  @XML
  Scenario Outline: A config file should validate against canary.xsd
  Given we have the <CanaryConfig> config file
  When we validate against canary.xsd
  Then it should validate correctly

  Examples: Config Files
    | CanaryConfig |
    | ACM.xml |
    | sim-tacbio2.xml |

  @XML
  Scenario Outline: A sensor definition file should validate
  Given we have a <sensor definition> sensor definition
  When we validate against a CCSI schema
  Then it should validate correctly

  Examples:
    | sensor definition |
    | ACM.xml  |
    | tacbio2.xml |

Tags: 文件工具文件名场景静态xmlsensorvalidate
1条回答
网友
1楼 · 发布于 2024-05-18 16:16:29

派对有点晚了,但是。。。你知道吗

您是否考虑过跳出Behave框架来解决这个问题?例如,如果您正在通过一个main method运行Behave,而这个main method只调用Behave,那么您可以预先使用普通的老Python进行预检查。你知道吗

一种方法是使用Python的内置os.listdir()函数。最初,您可以用现有XML配置文件的名称保存一个文本文件,并使用Python将其写入.feature文件。然后,通过将当前目录的文件与文本文件中列出的文件进行比较,可以检查是否已将新文件添加到该目录中。如果它们已经存在,则不需要进行任何更改,并且可以运行程序;如果它们不存在,则可以再次使用Python将这些配置文件写入.feature文件。你知道吗

这将是一种动态方法,您不必静态地定义任何内容,而是将配置文件的名称存储在文本文件中。你知道吗

相关问题 更多 >

    热门问题