一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试相关的知识,希望对你有一定的参考价值。
Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试,可提供点参考!下面就包括测试代码和每种测试情况的截图。
代码如下:
1 ‘‘‘ 2 cnblog的登录测试,分下面几种情况: 3 (1)用户名、密码正确 4 (2)用户名正确、密码不正确 5 (3)用户名正确、密码为空 6 (4)用户名错误、密码正确 7 (5)用户名为空、密码正确(还有用户名和密码均为空时与此情况是一样的,这里就不单独测试了) 8 ‘‘‘ 9 import unittest 10 from selenium import webdriver 11 from time import sleep 12 13 class LoginCase(unittest.TestCase): 14 15 def setUp(self): 16 self.dr = webdriver.Chrome() 17 self.dr.maximize_window() 18 19 #定义登录方法 20 def login(self, username, password): 21 self.dr.get(‘https://passport.cnblogs.com/user/signin‘) #cnblog登录页面 22 self.dr.find_element_by_id(‘input1‘).send_keys(username) 23 self.dr.find_element_by_id(‘input2‘).send_keys(password) 24 self.dr.find_element_by_id(‘signin‘).click() 25 26 def test_login_success(self): 27 ‘‘‘用户名、密码正确‘‘‘ 28 self.login(‘kemi‘, ‘kemi%^2016‘) #正确用户名和密码 29 sleep(3) 30 link = self.dr.find_element_by_id(‘lnk_current_user‘) 31 self.assertTrue(‘菜鸟可米‘ in link.text) #用assertTrue(x)方法来断言 bool(x) is True 登录成功后用户昵称在lnk_current_user里 32 33 def test_login_pwd_error(self): 34 ‘‘‘用户名正确、密码不正确‘‘‘ 35 self.login(‘kemi‘, ‘kemi‘) #正确用户名,错误密码 36 sleep(2) 37 error_message = self.dr.find_element_by_id(‘tip_btn‘).text 38 self.assertIn(‘用户名或密码错误‘, error_message) #用assertIn(a,b)方法来断言 a in b ‘用户名或密码错误‘在error_message里 39 40 def test_login_pwd_null(self): 41 ‘‘‘用户名正确、密码为空‘‘‘ 42 self.login(‘kemi‘, ‘‘) #密码为空 43 error_message = self.dr.find_element_by_id(‘tip_input2‘).text 44 self.assertEqual(error_message,‘请输入密码‘) #用assertEqual(a,b)方法来断言 a == b 请输入密码等于error_message 45 46 def test_login_user_error(self): 47 ‘‘‘用户名错误、密码正确‘‘‘ 48 self.login(‘kemixing‘, ‘kemi%^2016‘) #密码正确,用户名错误 49 sleep(2) 50 error_message = self.dr.find_element_by_id(‘tip_btn‘).text 51 self.assertIn(‘该用户不存在‘, error_message) #用assertIn(a,b)方法来断言 a in b 52 53 def test_login_user_null(self): 54 ‘‘‘用户名为空、密码正确‘‘‘ 55 self.login(‘‘, ‘kemi%^2016‘) #用户名为空,密码正确 56 error_message = self.dr.find_element_by_id(‘tip_input1‘).text 57 self.assertEqual(error_message,‘请输入登录用户名‘) #用assertEqual(a,b)方法来断言 a == b 58 59 def tearDown(self): 60 sleep(2) 61 print(‘自动测试完毕!‘) 62 self.dr.quit() 63 64 if __name__ == ‘__main__‘: 65 unittest.main()
测试结果如下:
测试截图如下:
正确用户名和密码登录成功!
正确用户名,错误密码登录失败!
用户名正确,密码为空,登录失败!
用户名错误,密码正确,登录失败!
用记名为空,正确密码,登录失败!
以上是关于一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试的主要内容,如果未能解决你的问题,请参考以下文章
一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试