zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

    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_xxx', 'kemi_xxxx') #正确用户名和密码
    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         self.dr.get_screenshot_as_file("D:cnblogtest\login_success.jpg")  #截图  可自定义截图后的保存位置和图片命名
    33  
    34     def test_login_pwd_error(self):
    35         '''用户名正确、密码不正确'''
    36         self.login('kemi_xxx', 'kemi')  #正确用户名,错误密码
    37         sleep(2)
    38         error_message = self.dr.find_element_by_id('tip_btn').text
    39         self.assertIn('用户名或密码错误', error_message)  #用assertIn(a,b)方法来断言 a in b  '用户名或密码错误'在error_message里
    40         self.dr.get_screenshot_as_file("D:cnblogtest\login_pwd_error.jpg")
    41  
    42     def test_login_pwd_null(self):
    43         '''用户名正确、密码为空'''
    44         self.login('kemi_xxx', '')  #密码为空
    45         error_message = self.dr.find_element_by_id('tip_input2').text
    46         self.assertEqual(error_message,'请输入密码')  #用assertEqual(a,b)方法来断言  a == b  请输入密码等于error_message
    47         self.dr.get_screenshot_as_file("D:cnblogtest\login_pwd_null.jpg")
    48  
    49     def test_login_user_error(self):
    50         '''用户名错误、密码正确'''
    51         self.login('kemixing', 'kemi_xxx')  #密码正确,用户名错误
    52         sleep(2)
    53         error_message = self.dr.find_element_by_id('tip_btn').text
    54         self.assertIn('该用户不存在', error_message)  #用assertIn(a,b)方法来断言 a in b
    55         self.dr.get_screenshot_as_file("D:cnblogtest\login_user_error.jpg")
    56  
    57     def test_login_user_null(self):
    58         '''用户名为空、密码正确'''
    59         self.login('', 'kemi_xxx')  #用户名为空,密码正确
    60         error_message = self.dr.find_element_by_id('tip_input1').text
    61         self.assertEqual(error_message,'请输入登录用户名')  #用assertEqual(a,b)方法来断言  a == b
    62         self.dr.get_screenshot_as_file("D:cnblogtest\login_user_null.jpg")
    63  
    64     def tearDown(self):
    65         sleep(2)
    66         print('自动测试完毕!')
    67         self.dr.quit()
    68  
    69 if __name__ == '__main__':
    70     unittest.main()

    测试结果如下:

    测试截图如下:

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

    spacer.gif

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

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

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

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

  • 相关阅读:
    position中的四种属性
    CSS中link和@import的区别
    隐藏对应元素的办法
    word20161217
    word20161216
    word20161215
    word20161214
    word20161213
    word201612012
    word20161211
  • 原文地址:https://www.cnblogs.com/cnkemi/p/6228137.html
Copyright © 2011-2022 走看看