自动化测试-03-test-login_page.py

元素操作与脚本分离(页面类操作)

说明:先从redmine_locators.py中取得元素,再封装定位页面元素的方法,便于Login.py使用。

注意:先定义BasePage基础类,在初始化方法__init__中定义driver、user、pwd等要使用的形参;再创建LoginPage类,让它继承BasePage类,主要实现对登录页面上的元素进行封装,形成操作方法。此行为是PO模式中最重要的对象层。

#!python3.6
# coding=utf-8
'''以下三个信息是记录编写的日期时间和姓名'''
__authon__ = 'XXX'
__data__ = "2021-06-24 17:24"
data = "2021/6/24 17:24"

from selenium import webdriver
from time import sleep
from datacenter.test.element.redmine_locators import LoginPageLocator


class BasePage():
    def __init__(self,driver,user,pwd):
        self.driver=driver
        self.user=user
        self.pwd=pwd

class LoginPage(BasePage):
    def enter_user(self,user):
        #这里*,代表把传入的参数转换成string;若不加*,一直报错,提示invalid argument: 'using' must be a string
        ele=self.driver.find_element(*LoginPageLocator.User)
        ele.clear()
        ele.send_keys(user)

    def enter_pwd(self,pwd):
        ele=self.driver.find_element(*LoginPageLocator.Pwd)
        ele.clear()
        ele.send_keys(pwd)

    def click_login(self):
        ele=self.driver.find_element(*LoginPageLocator.LoginSubmit)
        ele.click()

test测试文件:

1.页面元素与脚本分离(页面中的元素):redmine_locators.py

2. 元素操作与脚本分离(页面类操作):login_page.py

3、功能脚本操作(用例脚本):Login.py

4、执行用例脚本:run.py

搭建自动化测试框架时,文件层级的设计是至关重要的。它可以帮助维护项目的结构清晰,提高代码的可维护性和可读性。以下是一个基本的自动化测试框架文件层级结构示例: ``` MyTestFramework/ |-- config/ | |-- __init__.py | |-- settings.py # 配置文件,存放全局设置和路径信息 |-- data/ | |-- __init__.py | |-- test_data.csv # 测试数据文件,用于输入测试数据或预期结果 |-- pages/ | |-- __init__.py | |-- login_page.py # 页面对象,封装了网页元素的定位和操作方法 | |-- dashboard_page.py # 示例页面对象 |-- utils/ | |-- __init__.py | |-- helper.py # 工具函数,比如日志记录、截图等辅助功能 |-- tests/ | |-- __init__.py | |-- test_login.py # 测试用例文件,存放具体的测试脚本 | |-- test_dashboard.py # 示例测试用例 |-- reports/ | |-- __init__.py | |-- reports.html # 测试报告,可以是自动生成的HTML报告 |-- run_tests.py # 测试运行入口脚本,用于启动测试用例的执行 ``` 在这个结构中: - `config` 目录用于存放所有配置相关的文件,比如测试环境的URL,数据库配置等。 - `data` 目录用于存放测试数据,它可以使测试更加灵活和数据驱动。 - `pages` 目录存放页面对象文件,用于封装与页面交互的逻辑,遵循Page Object模式。 - `utils` 目录用于存放工具类文件,存放一些重用的辅助函数。 - `tests` 目录存放具体的测试脚本文件,每个文件可视为一个测试类或测试模块。 - `reports` 目录用于存放生成的测试报告。 - `run_tests.py` 是自动化测试的启动脚本,通常用于触发测试的执行。 确保遵循Python的模块和包的组织原则,比如每个目录下都有`__init__.py`文件,这样Python才能将这些目录视为包。此外,你的测试框架可能需要导入外部库和模块,比如`unittest`或`pytest`,这些通常放在`requirements.txt`文件中列出,并通过`pip`安装。 这个结构可以根据实际项目的需求进行调整,比如增加日志目录、增加多个环境的配置目录等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值