【发布时间】:2017-09-29 08:56:59
【问题描述】:
我已经开始使用 Python Selenium 并编写了如下所示的脚本。
这会打印一个链接到失败的测试的返回码(test01、test02、test03、..)。
忽略每个测试都在检查同一件事。
我只是想了解是否有更简洁的方法来编写测试,因为每个测试都重复声明global res,然后有一个try/except 块。
有人可以就如何改进这一点提供一些建议吗?
# global variable for return code. Zero is success.
res=0
@atexit.register
def send_health():
print ("res=%s") % res
class Login(unittest2.TestCase):
@classmethod
def setUpClass(inst):
binary = FirefoxBinary('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe')
inst.driver = webdriver.Firefox(firefox_binary=binary)
inst.base_url = "https://stackoverflow.com"
def test01(self):
global res
driver = self.driver
try:
self.assertEqual("Ask a Question", driver.title)
except Exception,e:
print ("Exception: %s" % e)
driver.save_screenshot('screenshot_test01.png')
res=1
return
def test02(self):
global res
driver = self.driver
try:
self.assertEqual("Ask a Question", driver.title)
except Exception,e:
print ("Exception: %s" % e)
driver.save_screenshot('screenshot_test02.png')
res=2
return
def test03(self):
global res
driver = self.driver
try:
self.assertEqual("Ask a Question", driver.title)
except Exception,e:
print ("Exception: %s" % e)
driver.save_screenshot('screenshot_test03.png')
res=3
return
if __name__ == "__main__":
unittest2.main()
【问题讨论】:
标签: python unit-testing selenium