定义执行用例开始、结束,写入公共模块中,脚本如下:
myunit.py
import unittestfrom TB_test.common.TB_caps import appium_desiredimport loggingclass 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 unittestfrom TB_test.common.myunit import startendfrom TB_test.businessView.loginView import LoginViewimport logging,timeclass 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 unittestfrom BSTestRunner import BSTestRunnerimport 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路径中即可。