定义执行用例开始、结束,写入公共模块中,脚本如下:
myunit.py
import unittest from TB_test.common.TB_caps import appium_desired import logging class startend(unittest.TestCase): def setUp(self): logging.info("=====setUp=====") self.driver=appium_desired() def tearDown(self): logging.info("=====tearDown=====") self.driver.quit()
测试用例:
test_login.py
import unittest from TB_test.common.myunit import startend from TB_test.businessView.loginView import LoginView import logging,time class TestLogin(startend): #登录信息文件配置地址 csv_file=‘../data/account_data.csv‘ def test_login_right(self): logging.info("=====test_login_right=====") l=LoginView(self.driver)
#调用配置文件 data=l.get_csv_data(self.csv_file,1) l.login_action(data[0],data[1]) self.assertTrue(l.cheak_login()) def test_login_error(self): logging.info("=====test_login_error=====") l=LoginView(self.driver)
#调用配置文件 data=l.get_csv_data(self.csv_file,2) l.login_action(data[0],data[1]) self.assertTrue(l.cheak_login()) time.sleep(5) if __name__ == ‘__main__‘: unittest.main()
执行测试用例:
runcase.py
import unittest from BSTestRunner import BSTestRunner import time,logging #用例路径、报告存放路径 test_dir = ‘../testcase‘ report_dir = ‘../reports‘ #加载测试用例 discover = unittest.defaultTestLoader.discover(test_dir,pattern="test_*.py") print(discover) #报告命名 now=time.strftime("%y-%m-%d %H_%M_%S") report_name=report_dir+‘/‘+now+‘testreport.html‘ #运行测试用例,生成报告 with open(report_name,"wb")as f: runner = BSTestRunner(stream=f,title=u‘自动化测试报告,测试结果如下:‘,description=u‘用例执行情况:‘) logging.info("======start runcase======") runner.run(discover)
执行用例完成后到报告地址中可查获,注意导入BSTestRunner模块,需提前下载,放置python-lib路径中即可。