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