一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试 推荐
2016-12-27 22:28
1246 查看
Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试,给大家提供点参考!下面就包括测试代码和每种测试情况的截图:
测试截图效果如下:
正确用户名和密码登录成功!
正确用户名,错误密码登录失败!
用户名正确,密码为空,登录失败!
用户名错误,密码正确,登录失败!
用记名为空,正确密码,登录失败!
''' cnblog的登录测试,分下面几种情况: (1)用户名、密码正确 (2)用户名正确、密码不正确 (3)用户名正确、密码为空 (4)用户名错误、密码正确 (5)用户名为空、密码正确(还有用户名和密码均为空时与此情况是一样的,这里就不单独测试了) ''' import unittest from selenium import webdriver from time import sleep class LoginCase(unittest.TestCase): def setUp(self): self.dr = webdriver.Chrome() self.dr.maximize_window() #定义登录方法 def login(self, username, password): self.dr.get('https://passport.cnblogs.com/user/signin') #cnblog登录页面 self.dr.find_element_by_id('input1').send_keys(username) self.dr.find_element_by_id('input2').send_keys(password) self.dr.find_element_by_id('signin').click() def test_login_success(self): '''用户名、密码正确''' self.login('kemi_xxx', 'kemi_xxxx') #正确用户名和密码 sleep(3) link = self.dr.find_element_by_id('lnk_current_user') self.assertTrue('菜鸟可米' in link.text) #用assertTrue(x)方法来断言 bool(x) is True 登录成功后用户昵称在lnk_current_user里 self.dr.get_screenshot_as_file("D:\cnblogtest\\login_success.jpg") #截图 可自定义截图后的保存位置和图片命名 def test_login_pwd_error(self): '''用户名正确、密码不正确''' self.login('kemi_xxx', 'kemi') #正确用户名,错误密码 sleep(2) error_message = self.dr.find_element_by_id('tip_btn').text self.assertIn('用户名或密码错误', error_message) #用assertIn(a,b)方法来断言 a in b '用户名或密码错误'在error_message里 self.dr.get_screenshot_as_file("D:\cnblogtest\\login_pwd_error.jpg") def test_login_pwd_null(self): '''用户名正确、密码为空''' self.login('kemi_xxx', '') #密码为空 error_message = self.dr.find_element_by_id('tip_input2').text self.assertEqual(error_message,'请输入密码') #用assertEqual(a,b)方法来断言 a == b '请输入密码'等于error_message self.dr.get_screenshot_as_file("D:\cnblogtest\\login_pwd_null.jpg") def test_login_user_error(self): '''用户名错误、密码正确''' self.login('kemixing', 'kemi_xxx') #密码正确,用户名错误 sleep(2) error_message = self.dr.find_element_by_id('tip_btn').text self.assertIn('该用户不存在', error_message) #用assertIn(a,b)方法来断言 a in b self.dr.get_screenshot_as_file("D:\cnblogtest\\login_user_error.jpg") def test_login_user_null(self): '''用户名为空、密码正确''' self.login('', 'kemi_xxx') #用户名为空,密码正确 error_message = self.dr.find_element_by_id('tip_input1').text self.assertEqual(error_message,'请输入登录用户名') #用assertEqual(a,b)方法来断言 a == b self.dr.get_screenshot_as_file("D:\cnblogtest\\login_user_null.jpg") def tearDown(self): sleep(2) print('自动测试完毕!') self.dr.quit() if __name__ == '__main__': unittest.main()测试结果如下:
测试截图效果如下:
正确用户名和密码登录成功!
正确用户名,错误密码登录失败!
用户名正确,密码为空,登录失败!
用户名错误,密码正确,登录失败!
用记名为空,正确密码,登录失败!
相关文章推荐
- 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
- 一次简单完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
- Selenium基于Python 进行 web 自动化测试
- 基于Python的nessus API简析——登录&进行一次扫描
- Python+Selenium基础篇之5-第一个完整的自动化测试脚本
- appium2-基于python调用unittest框架对iOS进行自动化测试
- Python-Selenium2做Web自动化测试(1)-软件测试分类以及什么时候需要进行自动化测试
- 在Windows搭建基于selenium+python的自动化测试环境
- Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架
- Selenium对基于Flex的应用进行自动化测试
- 基于python+selenium的自动化测试,测试百度网盘Web端的登录功能【实战练习】
- selenium2+python如何启动Ie和Chrome进行自动化测试
- 基于Selenium2与Python的自动化测试环境配置搭建
- 初学者的Selenium自动化测试指南,基于Python(一)——元素定位
- 初学者的Selenium自动化测试指南,基于Python(六)——如何设置元素等待
- 初学者的Selenium自动化测试指南,基于Python(四)——常用鼠标事件
- 初学者的Selenium自动化测试指南,基于Python(五)——常用键盘事件
- 基于Python的Selenium自动化(4)—如何生成测试报告
- 初学者的Selenium自动化测试指南,基于Python(三)——浏览器相关操作
- 基于selenium3+python3.6.x+chrome57.x的自动化测试环境搭建