我对 Python 有点陌生,出于某种原因,我无法理解某些东西。
从命令行我运行这个
python3 myfile.py
它工作,在文件的底部是这个,它运行我的类,运行类的位如下所示(我刚刚包含了一些调用其余部分的部分
if __name__ == "__main__":
dir = os.getcwd()
reportoutputpath="reports"
reportfilename=casedetails['hcname'] + ".html"
......
我想做的是从我的代码中运行完整的文件,我试过这个
pathforidefiles="/home/ubuntu/idefiles"
sys.path.append(pathforidefiles)
module = __import__("clean-Fern_Britton_Testcase_01")
这似乎读取了文件(我在顶部有一个打印行,它似乎确实有效,但实际上没有执行任何操作。我确信我错过了有关 Python 工作方式的一些基本知识,但我有点迷失了。
编辑我想我可能会以错误的方式解决这个问题,并认为我的问题可能是。如何将文件主要部分中的内容移动到导入到正在执行导入的文件中
要导入的文件是这样的
class Examplecase01(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30)
self.base_url = "http://example.com/"
self.verificationErrors = []
self.accept_next_alert = True
def test_fern_britton_testcase01(self):
driver = self.driver
....
if __name__ == "__main__":
dir = os.getcwd()
reportoutputpath="reports"
reportfilename=casedetails['hcname'] + ".html"
outfile = open(dir + "/" + reportoutputpath + "/" + reportfilename, "w")
loader = unittest.TestLoader()
suite = unittest.TestSuite((
loader.loadTestsFromTestCase(FernBrittonTestcase01)))
runner = HTMLTestRunner(stream=outfile,
verbosity=2,
title=casedetails['hcname'],
description=casedetails['hcdescription'])
t = unittest.main(exit=False)
print (t.result)
然后在正在导入的文件中
mymodule=importlib.import_module('cleantest')
#code as above
t = unittest.mymodule(exit=False) #to replace t = unittest.main(exit=False)
我得到的错误是:模块'unittest'没有属性'mymodule'
那么我需要做什么才能使我的代码(主要是)在我正在执行导入的视图中工作?