码迷,mamicode.com
首页 > 编程语言 > 详细

一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试

时间:2016-12-28 09:41:34      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:message   src   driver   blog   div   sleep   web   cto   自动测试   

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的自动化登录测试

标签:message   src   driver   blog   div   sleep   web   cto   自动测试   

原文地址:http://www.cnblogs.com/cnkemi/p/6228137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!