我如何定义自定义函数然后在测试函数中使用它,它在我运行单个测试用例时起作用,但在运行多个测试用例时不起作用。
#!/bin/bash
json_string=$(<product.info.json)
echo "$json_string"
vers=%major_version%.%patch_version%
date=`date +%%Y-%%m-%%d:%%H:%%M:%%S`
echo VERSION: $vers
echo DATE: $date
result_string=$json_string
result_string=${result_string/_DATE_/$date};
result_string=${result_string/_VERSION_/$vers};
echo "$result_string" > "User_Part/product.info.json"
json_string=$(<User_Part/product.info.json)
echo "$json_string
答案 0 :(得分:0)
您可以使用unittest.setUpClass()
来实例化类级driver
实例。同样,如果需要,您可以使用tearDownClass()
清除类级别变量。
由于setUpClass()
和tearDownClass()
只会在Test类中运行一次,因此可以使用它来保证只有一个驱动程序。否则,将为每个测试方法运行setUp()
- 每次都创建一个浏览器实例 - 这可能很慢并且可能内存效率低。
class AlphaTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(30)
cls.driver.get("http://google.com/")
def asserTrueId(self, value):
self.assertTrue(self.driver.find_element_by_id(value))
time.sleep(1)
def test_flush_cache(self):
self.asserTrueId("block-menu-menu-menu-for-directories")