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

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

测试结果如下:

942023-20161227222759195-1658346406.png

测试截图效果如下:

942023-20161228163300414-912529808.png

正确用户名和密码登录成功!

spacer.gif

942023-20161227214635804-1740521108.png

正确用户名,错误密码登录失败!

942023-20161227214901195-660984531.png

用户名正确,密码为空,登录失败!

942023-20161227214802492-326761308.png

用户名错误,密码正确,登录失败!

942023-20161227214957632-23278223.png

用记名为空,正确密码,登录失败!

942023-20161227215036961-1582028544.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值