1. 程式人生 > >python + selenium + unittest 自動化測試框架 -- 入門篇

python + selenium + unittest 自動化測試框架 -- 入門篇

、 預置條件:

1. python已安裝

2. pycharm已安裝

3. selenium已安裝

4. chrome.driver 驅動已下載

 

 

二、工程建立

1. New Project:建立自己的工程

2. New Package:建立各個配置包

3. New Python:建立python指令碼

三、上程式碼:

 

1.  constant.py 

將相對獨立的常量單獨封裝到此處,便於後期修改。

 

 

2.  test_login_case.py

 

 

 

 

# -*- coding:utf-8 -*-

'''
@project: Voctest
@author: Jimmy
@file: test_case_login.py
@ide: PyCharm Community Edition
@time: 2018-10-31 16:44
@blog: https://www.cnblogs.com/gotesting/

'''


from Element.constant import *
from time import sleep
import selenium
import unittest

class LoginCase(unittest.TestCase):

def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()

# 定義登入方法
def login(self,username,password):
self.driver.get(login_url)
self.driver.find_element_by_class_name('gd-login-user').send_keys(username)
self.driver.find_element_by_class_name('gd-login-password').send_keys(password)
self.driver.find_element_by_class_name('gd-login-submit-bg').click()


# 正確使用者名稱密碼登入
def test_login_success(self):
self.login('system','123456')
sleep(2)
title_msg = self.driver.find_element_by_class_name('gd-topbar-name-text').text
self.assertEquals('首頁',title_msg)
self.driver.get_screenshot_as_file('F:\python\Voctest\Picture\login_success.png')

# 使用者名稱為空登入
def test_login_username_null(self):
self.login('','123456')
sleep(2)
login_msg = self.driver.find_element_by_class_name('gd-login-submit-text').text
self.assertIn('登 錄',login_msg)
self.driver.get_screenshot_as_file('F:\python\Voctest\Picture\login_username_null.png')

# 密碼為空登入
def test_login_password_null(self):
self.login('system','')
sleep(2)
login_msg = self.driver.find_element_by_class_name('gd-login-submit-text').text
self.assertIn('登 錄',login_msg)
self.driver.get_screenshot_as_file('F:\python\Voctest\Picture\login_password_null.png')

# 錯誤使用者名稱密碼登入
def test_login_fail(self):
self.login('system','12345678')
sleep(2)
login_msg = self.driver.find_element_by_class_name('gd-login-msg').text
self.assertEquals('使用者名稱或密碼錯誤',login_msg)
self.driver.get_screenshot_as_file('F:\python\Voctest\Picture\login_password_fail.png')

def tearDown(self):
sleep(2)
print('login auto test done !')
self.driver.quit()

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