Web自动化测试项目用例的组织与运行

Posted 深圳-逸遥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 *
·
·
·


以上是关于Web自动化测试项目用例的组织与运行的主要内容,如果未能解决你的问题,请参考以下文章

如果有一个项目我们怎么进行前期准备工作及测试用例的选取,在编写自动化测试用例过程中应该遵守以下几点原则?--web用例的稳定性和效率如何提高:

unittest单元测试框架总结

十年经验大牛浅谈自动化测试与测试用例的编写

十年经验大牛浅谈自动化测试与测试用例的编写

《随便测测》WEB接口测试平台

超详细unittest单元测试框架总结