Python: 修改文本文件与raw_input,然后根据写入的内容继续运行脚本 .tx

2024-10-03 23:23:41 发布

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

我尝试在已经构建的测试结构周围添加终端用户输入包装器。你知道吗

看起来像:

regression_folder:

r_globals.py [with class r_globals which stores vars]

testcases1.py

testcases2.py

smoketest.py [runs unittest.TestSuite(r_globals.tests_to_run)]

regression_runner.py **

GLOBALS.txt **

(**表示我添加的文件)

所有文件都导入r\u globals,其中存储运行所需的信息(比如selenium应该导航到哪个ip)。 smoketest使用unittest运行r\u globals中指定的测试用例

如果用户输入要运行的测试列表(和其他配置),那么回归运行程序应该添加功能。然后运行程序调用smoketest,它应该运行input指定的测试。你知道吗

因为所有文件都导入r\u globals,所以我无法将用户输入的配置存储在其中-每次导入都将还原硬编码的值。所以现在r\u globals从全局.txt,并在用户输入时修改文本文件。你知道吗

然而,目前全局.txt仅在脚本完成后更新。 即:

  1. 你知道吗全局.txt包含要运行的测试的“testcases1”。你知道吗
  2. 运行回归运行程序,用户输入“testcases2”以运行测试。你知道吗
  3. “testcases2”写入全局.txt. 关闭全局.txt具有 文件.close()
  4. 运行程序调用smoketest,它读取 r\u globals,从全局.txt. 你知道吗
  5. “testcases1”已运行。你知道吗
  6. 脚本完成后,如果再次运行而没有更改,则运行“testcases2”。你知道吗

我试过各种各样的方法文件.close(),刷新(),标准冲洗(),等等。尝试重新加载(r\u globals)会给出“重新加载参数必须是模块”。你知道吗

可以提供代码片段,但代码很长,并且被拆分为许多文件。我知道代码结构(使用一个假的'globals'文件/类)不是很好,也不是pythonic,但是重构以删除r\u globals需要修改20个文件中的10个变量。你知道吗

我能得到r\u globals吗烟雾测试.py以及测试用例.py)从同一实例中的.txt文件中提取修改后的值?你知道吗


Tags: 文件代码用户py程序txt测试用例unittest