博客园selenium自动化登录脚本

import unittest
from selenium import webdriver
from time import sleep


class LoginCase(unittest.TestCase):
def setUp(self):
self.dr = webdriver.Firefox()
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('zhanglining', 'asdjlka') # 正确用户名和密码
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:\\login_success.jpg") # 截图 可自定义截图后的保存位置和图片命名

def test_login_pwd_error(self):
'''用户名正确、密码不正确'''
self.login('zhanglining', 'zhanglining') # 正确用户名,错误密码
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\\login_pwd_error.jpg")

def test_login_pwd_null(self):
'''用户名正确、密码为空'''
self.login('zhanglining', '') # 密码为空
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:\\login_pwd_null.jpg")

def test_login_user_error(self):
'''用户名错误、密码正确'''
self.login('zhangling', '@zhanglining') # 密码正确,用户名错误
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:\\login_user_error.jpg")

def test_login_user_null(self):
'''用户名为空、密码正确'''
self.login('', '@zhanglining') # 用户名为空,密码正确
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:\\login_user_null.jpg")

def tearDown(self):
sleep(2)
print('自动测试完毕!')
self.dr.quit()


if __name__ == '__main__':
unittest.main()

转载于:https://www.cnblogs.com/zln1021/p/7246560.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值