Web自動化測試項目(三)用例的組織與運行

一、Unittest用例組織

在test_case目錄下創建test*.py,組織測試用例

├── test_case
│   ├── __init__.py
│   └── test_login.py

test_login.py

import unittest

from pages.login_page import LoginPageAction
from utils.constants import LOGIN_URL


class TestLoginCase(unittest.TestCase):

    def test_login_success(self):
        username = 'XXXXX'
        password = 'XXXXX'
        login_page = LoginPageAction(path=LOGIN_URL)
        home_page = login_page.login(username=username, password=password)
        user_title = home_page.get_user_title
        expect_ret = 'XXXXXX'
        self.assertEqual(expect_ret, user_title)

    def test_login_success_(self):
        username = 'XXXXX'
        password = 'XXXXX'
        login_page = LoginPageAction(path=LOGIN_URL)
        home_page = login_page.login(username=username, password=password)
        user_title = home_page.get_user_title
        expect_ret = 'XXXXXX'
        self.assertEqual(expect_ret, user_title)


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

二、組織測試用例

戳我獲取 —> 組織用例的姿勢

在run_case目錄下創建run_login_case.py,用於運行登陸用例集

├── run_case
│   ├── __init__.py
│   └── run_login_case.py

run_login_case.py

import unittest
from test_case.test_login import TestLoginCase
from utils.se_utils import Driver

if __name__ == '__main__':
    cases = unittest.TestLoader().loadTestsFromTestCase(TestLoginCase)
    runner = unittest.TextTestRunner(verbosity=2)
    runner.run(cases)

    # 所有用例運行完後關閉瀏覽器
    Driver.quit_driver()

三、添加Python引包路徑

創建module_path.py,存放所有引包的絕對路徑 放在run_case下,
所有的執行策略均先調用module_path.py,防止找到模塊的異常: ModuleNotFoundError: No module named 'XXXXXX'

├── run_case
│   ├── __init__.py
│   └── run_login_case.py
│   └── moudle_path.py

module_path.py

# 添加Python存放模塊的路徑
import os
import sys

web_auto_test_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
pages_dir_path = web_auto_test_path + '/pages'
config_dir_path = web_auto_test_path + '/config'
run_case_dir_path = web_auto_test_path + '/run_case'
test_case_dir_path = web_auto_test_path + '/test_case'
utils_dir_path = web_auto_test_path + '/utils'

sys.path.extend([
    web_auto_test_path,
    pages_dir_path,
    config_dir_path,
    run_case_dir_path,
    test_case_dir_path,
    utils_dir_path,
])

from pprint import pprint

print('python引包路徑:')
pprint(sys.path)

run_login_case.py

# 在執行入口添加引包路徑
from module_path import *
·
·
·




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章