我有一个runner.py
文件,我在其中运行所有方案。当其中一个脚本失败时,我的输出未写入output.html
文件。
我尝试添加一个try and catch块,但这没有帮助。请提出建议。即使开头的任何场景失败,我的脚本也应执行到最后一行。
import os
import utils
import Scenario1
import Scenario2
import Scenario3
from jinja2 import Environment, FileSystemLoader
PATH = os.path.dirname(os.path.abspath(__file__))
TEMPLATE_ENVIRONMENT = Environment(
autoescape=False,
loader=FileSystemLoader(os.path.join(PATH, 'templates')),
trim_blocks=False)
direct = os.getcwd()
testResult = {
"scenarios": []
}
def main():
global testResult
try:
Scenario1
sc1Res = Scenario1.Testcase1.getResult()
print('sc1Res', sc1Res)
testResult['scenarios'].append(sc1Res)
print('sc1Res', testResult)
except:
pass
try:
Scenario2
sc2Res = Scenario2.Testcase2.getResult()
print('sc2Res', sc2Res)
testResult['scenarios'].append(sc2Res)
print('sc2Res', testResult)
except:
pass
try:
Scenario3
sc3Res = Scenario3.Testcase3.getResult()
print('sc3Res', sc3Res)
testResult['scenarios'].append(sc3Res)
print('sc3Res', testResult)
except:
pass
print('in here')
with open(direct + "\output.html", 'w') as f:
html = render_template("save.html", testResult)
f.write(html)
# Scenario2
# Scenario3
# Scenario4
# Scenario5
# Scenario6
# Scenario7
# Scenario8
# Scenario9
# Scenario10
def render_template(template_filename, testResult):
print(testResult)
return TEMPLATE_ENVIRONMENT.get_template(template_filename).render(testResult)
if __name__ == "__main__":
main()
当前方案3失败,测试结果未写入output.html
。