自动化测试python selenium案例_Python3+Selenium Web自动化测试案例分享⑹——unittest组织用例...

#_*_ coding:utf-8 _*_

from selenium import webdriver #导入浏览器模块

from Page.loginPage import Login_page #导入登录对象类

from Public import log,readConfig,readExcel #导入封装的Log方法、GetPath方法

importunittest,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)classTestLogin(unittest.TestCase):"""网易企业邮箱登录测试"""

defsetParameters(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

@classmethoddefsetUpClass(self):"""执行类之前运行一次"""self.driver= webdriver.Chrome() #启动浏览器

self.login_page = Login_page(self.driver) #初始化loginPage对象

@classmethoddeftearDownClass(self):"""执行完类后执行一次"""time.sleep(3) #等待时间

self.driver.close() #关闭浏览器窗口

defsetUp(self):"""执行每个测试用例前执行一次"""self.login_page.open(self.path,'网易企业邮箱 - 登录入口') #打开首页,并断言title是否正确

log_info.info('---%s %s测试用例 测试开始---' %(names[0], self.case_name))deftearDown(self):"""执行完每个测试用例后执行一次"""log_info.info('---%s %s测试用例 测试结束---' %(names[0], self.case_name))#@unittest.skip("无条件跳过该测试")

deftest_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('***断言成功***')exceptException as e:

log_info.info('***断言失败***')

self.login_page.get_windows_img()raiseeelif self.case_name in ['登录失败-账号为空']:try:

self.assertEqual(self.result, self.login_page.username_air(), msg='断言失败') #断言

log_info.info('***断言成功***')exceptException as e:

log_info.info('***断言失败***')

self.login_page.get_windows_img()raiseeelif self.case_name in ['登录失败-密码为空']:try:

self.assertEqual(self.result, self.login_page.password_air(), msg='断言失败') #断言

log_info.info('***断言成功***')exceptException as e:

log_info.info('***断言失败***')

self.login_page.get_windows_img()raiseeelse:try:

self.assertEqual(self.result, self.login_page.Mismatch(), msg='断言失败') #断言

log_info.info('***断言成功***')exceptException as e:

log_info.info('***断言失败***')

self.login_page.get_windows_img()raiseeif __name__ == '__main__':

unittest.main()

你可能感兴趣的:(自动化测试python,selenium案例)