Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例
Posted 疯狂的机器人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例相关的知识,希望对你有一定的参考价值。
本章节主要讲解excel测试用例(UI_TestCase.xlsx)、unittest组织登录测试用例,其中需要用到读取UI_TestCase.xlsx测试数据、paramunittest(参数化)、调用loginPage类、断言等方法。
详细如下:
一、UI_TestCase.xlsx
二、test_login.py
# _*_ coding:utf-8 _*_ from selenium import webdriver #导入浏览器模块 from Page.loginPage import Login_page #导入登录对象类 from Public import log,readConfig,readExcel #导入封装的Log方法、GetPath方法 import unittest,time,paramunittest excel= readExcel.readExcel(\'UI_TestCase.xlsx\') #获取excel文件 names=excel.get_sheetnames() #获取sheel testcase=excel.get_xlsx(names[0]) #获取指定shell的case baseurl = readConfig.Read_Config().get_info(\'HTTP\',\'baseurl\') #获取配置文件的baseurl log_info =log.logger #log方法 @paramunittest.parametrized(*testcase) class TestLogin(unittest.TestCase): """ 网易企业邮箱登录测试 """ def setParameters(self,NO,case_name,path,username,password,result): """ 从 excel 中获取用例 :param NO: 用例编号 :param case_name: 用例名称 :param username: 账号 :param password: 密码 :param result: 预期结果 """ self.no =NO self.case_name = str(case_name) self.path = baseurl+str(path) self.username = username self.password = password self.result=result @classmethod def setUpClass(self): """执行类之前运行一次""" self.driver = webdriver.Chrome() #启动浏览器 self.login_page = Login_page(self.driver) #初始化loginPage对象 @classmethod def tearDownClass(self): """执行完类后执行一次""" time.sleep(3) #等待时间 self.driver.close() #关闭浏览器窗口 def setUp(self): """执行每个测试用例前执行一次""" self.login_page.open(self.path, \'网易企业邮箱 - 登录入口\') #打开首页,并断言title是否正确 log_info.info(\'---%s %s测试用例 测试开始---\' % (names[0], self.case_name)) def tearDown(self): """执行完每个测试用例后执行一次""" log_info.info(\'---%s %s测试用例 测试结束---\' % (names[0], self.case_name)) #@unittest.skip("无条件跳过该测试") def test_login(self): """登录成功测试""" #self._testMethodName = self.case_name #当前函数方法+测试用例测试函数名称 self._testMethodDoc = self.case_name # 测试函数文档 self.login_page.click_loginway() self.login_page.input_username(self.username) #输入用户名 self.login_page.input_password(self.password) #输入密码 self.login_page.click_login() #点击登录按钮 if self.case_name in [\'登录成功\']: try: self.assertEqual(self.result, self.login_page.show_userid(), msg=\'断言失败\') # 断言 self.login_page.click_exit() # 点击退出按钮 log_info.info(\'***断言成功***\') except Exception as e: log_info.info(\'***断言失败***\') self.login_page.get_windows_img() raise e elif self.case_name in [\'登录失败-账号为空\']: try: self.assertEqual(self.result, self.login_page.username_air(), msg=\'断言失败\') # 断言 log_info.info(\'***断言成功***\') except Exception as e: log_info.info(\'***断言失败***\') self.login_page.get_windows_img() raise e elif self.case_name in [\'登录失败-密码为空\']: try: self.assertEqual(self.result, self.login_page.password_air(), msg=\'断言失败\') # 断言 log_info.info(\'***断言成功***\') except Exception as e: log_info.info(\'***断言失败***\') self.login_page.get_windows_img() raise e else: try: self.assertEqual(self.result, self.login_page.Mismatch(), msg=\'断言失败\') # 断言 log_info.info(\'***断言成功***\') except Exception as e: log_info.info(\'***断言失败***\') self.login_page.get_windows_img() raise e if __name__ == \'__main__\': unittest.main()
以上是关于Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例的主要内容,如果未能解决你的问题,请参考以下文章
Selenium3与Python3实战 Web自动化测试框架
Selenium3与Python3实战 Web自动化测试框架
Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例
Selenium3与Python3实战 Web自动化测试框架