Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取或导入Python文件并仅执行某些行_Python - Fatal编程技术网

读取或导入Python文件并仅执行某些行

读取或导入Python文件并仅执行某些行,python,Python,我正在做一些自动化测试。我正在开发一个框架来执行测试。具体地说,我正在用Python和Selenium编写框架。该框架将独立于测试文件(也是Python)。我已经知道了如何将文件读入列表并拉出测试步骤(我也在尝试包括跟踪和报告),但是我不知道如何执行测试步骤。有没有办法让Python执行存储在列表中的代码 下面是我正在做的一个例子,我想在开始和结束之间执行所有操作 testContent = [line.strip() for line in open(tests)] for position

我正在做一些自动化测试。我正在开发一个框架来执行测试。具体地说,我正在用Python和Selenium编写框架。该框架将独立于测试文件(也是Python)。我已经知道了如何将文件读入列表并拉出测试步骤(我也在尝试包括跟踪和报告),但是我不知道如何执行测试步骤。有没有办法让Python执行存储在列表中的代码

下面是我正在做的一个例子,我想在开始和结束之间执行所有操作

testContent = [line.strip() for line in open(tests)]

for position, i in enumerate(testContent):
    if "Start Test" in i:
        testStart = position
    elif "End Test" in i:
        testEnd = position
    else:
        break
样本测试:

# !/use/bin/env_python

# Test Case

from framework import navigation
from framework import test


def main():
# platform = "web"
# browser = "Firefox"
# Start Test
navigation.GoTo.menu(driver, "Local News")
navigation.GoTo.navbar(driver, "Education")
test.imagesloaded(driver)
# test.allLinksValid()

# End Test

但是,这正是unittest.loadTestsFromModule的用途


只需将
\uuuu init\uuuuu.py
添加到您的测试目录中,并阅读文档:

使用函数…您的几行测试是什么样子的?因为我想你可能在问一个XY问题……你签出eval()和exec()了吗?当然,我假设测试是用python编写的。如果您正在创建自己的测试语言,您的任务会更大,罗伯特,谢谢!我想这正是我需要的。不,不,不!Eval和exec不是正确的方法!请看一下nose和unittest以及其他测试框架,以及Python的
inspect
模块。没有理由在这里重新发明轮子。在Python中有很多很好的单元测试选项,包括Selenium和朋友。我将研究nose,谢谢!在学习所有这些、学习Python和朋友的过程中,找到任何东西都是非常痛苦的。