selenium进阶之web自动化项目框架搭建(Python版)

这篇具有很好参考价值的文章主要介绍了selenium进阶之web自动化项目框架搭建(Python版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

web自动化项目框架搭建

1、项目结构
web自动化框架的设计,同接口自动化框架一样,采用分层设计。

文件或目录 说明
common 常用模块,常用的一些函数封装
testcases 用例模块,所有的测试用例
test_data 用例数据
logs 日志目录
reports 报告
settings.py 配置
main.py 项目入口

2、settings.py

import os
# 项目根目录
BASE_DIR = os.path.dirname(os.path.abspath(__file__))

# 测试用例路径
TEST_CASE_DIR = os.path.join(BASE_DIR, 'testcases')

# 项目主机
PROJECT_HOST = 'https://blog.csdn.net'

# 接口信息
INTERFACE = {
    'login': PROJECT_HOST + '/testleaf'
}

# 日志配置
LOG_CONFIG = {
    'name': 'project',
    'filename': os.path.join(BASE_DIR, 'logs', 'testleaf.log'),
    # 'encoding': 'utf-8',
    # 'fmt': None,
    # 'when': 'd',
    # 'interval': 1,
    # 'backup_count': 7,
    'debug': True
}

# 测试账户信息
TEST_NORMAL_USERNAME = 'admin'
TEST_NORMAL_PASSWORD = '888888'

3、main.py

import pytest
import settings

if __name__ == '__main__':
    pytest.main(['-s', '-v', settings.TEST_CASE_DIR])

4、common\log_handler.py

import logging
from logging.handlers import TimedRotatingFileHandler

def get_logger(name, filename, encoding='utf-8', fmt=None, when='d', interval=1, backup_count=7, debug=False):
    logger = logging.getLogger(name)
    logger.setLevel(logging.DEBUG)
    # 文件处理器的等级一般情况一定比控制台要高
    if debug:
        file_level = logging.DEBUG
        console_level = logging.DEBUG
    else:
        file_level = logging.WARNING
        console_level = logging.INFO

    if fmt is None:
        fmt = '%(levelname)s %(asctime)s [%(filename)s-->line:%(lineno)d]:%(message)s'

    file_handler = TimedRotatingFileHandler(
        filename=filename, when=when, interval=interval, backupCount=backup_count, encoding=encoding)
    file_handler.setLevel(file_level)

    console_handler = logging.StreamHandler()
    console_handler.setLevel(console_level)

    formatter = logging.Formatter(fmt=fmt)
    file_handler.setFormatter(formatter)
    console_handler.setFormatter(formatter)

    logger.addHandler(file_handler)
    logger.addHandler(console_handler)

    return logger

if __name__ == '__main__':
    import settings
    log = get_logger(**settings.LOG_CONFIG)
    log.info('我是普通信息')
    log.warning('我是警告信息')

5、testcases\test_login.py文章来源地址https://www.toymoban.com/news/detail-677146.html

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import settings

class TestLogin:
    def test_login(self):
        # 1. 打开浏览器
        with webdriver.Chrome() as driver:
            # 2. 访问登录页面
            driver.get(settings.INTERFACE['login'])
            # 3. 登录
            # 3.1 定位用户名输入框
            wait = WebDriverWait(driver, timeout=3)
            username_input = wait.until(EC.visibility_of_element_located(('xpath', '//input[@name="phone"]')))
            # 3.2 输入用户名
            username_input.send_keys(settings.TEST_NORMAL_USERNAME)
            # 3.3 定位密码输入框
            # 3.4 输入密码
            # 3.5 定位登录按钮
            # 3.6 点击登录按钮
            # 4. 断言登录:根据右上角的退出按钮的出现
            assert wait.until(EC.visibility_of_element_located(('xpath', '//a[text()="退出"]')))

到了这里,关于selenium进阶之web自动化项目框架搭建(Python版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web自动化测试进阶 —— Selenium模拟鼠标操作

    在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。 首先导入ActionChains类: from selenium.webdriver.common.action_chains import ActionChains context_click():右击 double_click():双击 drag_and_drop():拖动 move_to_

    2024年02月09日
    浏览(34)
  • Selenium:Web自动化框架

    Selenium(Web Browser Automation)的初衷是Web应用自动化测试。Selenium还广泛应用于爬虫,爬虫需要让浏览器自动运行网址来获取我们需要的内容 Selenium不是单个软件,它是由一系列的工具组成 Selenium库支持多种编程语言:Python、Java等,支持多种浏览器:Chrome、Firefox、Edge等,支持

    2024年02月07日
    浏览(26)
  • 【自动化测试】基于Selenium + Python的web自动化框架

    Selenium是一个基于浏览器的自动化工具,她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid:  1、Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例如java,p

    2024年02月07日
    浏览(46)
  • 基于Selenium的Web自动化框架

    首先我们来看一下之前是如何书写页面模式中的类的: BasePage: GoogleMainPage: 重新审视之前的实现,我们可以发现在各个子类页面中,均需要引用相当的selenium类库(比如webdriver),并且需要用webdriver来定位页面元素,这就会造成各个子类页面与selenium类库有较多的集成,并且也

    2024年04月12日
    浏览(25)
  • Selenium Web自动化测试框架实践

    目录        前言: 项目背景 功能实现 项目架构 浏览器driver定义 用例运行前后的环境准备工作 工具方法模块 Pageobject页面对象封装 执行测试用例        前言:          Selenium是一个基于Web的自动化测试框架,可以通过模拟用户在浏览器上的操作,来自动化地测试Web应

    2024年02月10日
    浏览(37)
  • WEB自动化测试(selenium工具)框架、面试题

                让程序员代替人为去验证web项目功能的过程      1)需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,

    2024年02月03日
    浏览(34)
  • python基于Selenium的web自动化框架

    1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例

    2024年02月02日
    浏览(39)
  • 基于Selenium+Python的web自动化测试框架

    一、什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言

    2024年02月02日
    浏览(42)
  • 一、搭建selenium web自动化集成环境

    一、安装Python 下载地址:​​https://www.python.org/downloads/​​ 二、安装selenium 1.由于使用的Mac,在无法卸载python2的情况下,进入命令行输入pip3 install selenium安装selenium 2.在命令行输入python3,进入到python命令行界面,输入from selenium import webdriver,如果没有报错代表已经安装成功

    2024年02月01日
    浏览(30)
  • Selenium基于Python web自动化测试框架 -- PO

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 关于selenium测试框架首先想到的就是PO模型,简单说下PO模型 PO模型的

    2024年02月22日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包