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

最全Python+Selenium环境搭建教程-你绝对想不到有这么简单! 在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!_哔哩哔哩_bilibili在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!共计16条视频,包括:1. 【web自动化】主流Web自动化测试技术对比、2. 【web自动化】Selenium自动化测试环境一键搭建、3. 【web自动化】Selenium八大定位策略详解等,UP主更多精彩视频,请关注UP账号。Selenium是目前最流行的web自动化测试工具,也常用于网络爬虫,已经更新到3以上的版本。 阅读详情

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.youkuaiyun.com'

# 接口信息
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

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()="退出"]')))
WebUI自动化测试框架搭建(python+pytest+selenium+allure) 将鼠标移动到要定位的元素上面>右键>点击“检查”>在元素代码上右键>复制>复制XPath。 阅读详情

相关推荐

Selenium+Pytest自动化测试框架实战,还不会点这里一清二楚,全网最细教程!

1、Selenium是一个免费的(开源)自动化测试组件,适用于跨不同浏览器和平台的Web应用程序【selenium是一个自动化工具,而不是自动化框架】。它非常类似于HP Quick Test Pro (QTP现在叫UFT),只是Selenium侧重于自动化基于Web的应用程序。使用Selenium工具进行的测试通常称为Selenium测试。2、Selenium不仅仅是一个工具,而是一套软件,每个软件都满足组织的不同测试需求。

m0_73409141的博客 1216

webUI自动化之基本框架搭建(python + selenium + unittest)

该文档描述一次基于python的webUI自动化框架搭建过程及简单的使用。

apex_eixl的博客 2181

Python自动化测试框架搭建:从pytest、Selenium到Allure报告实战

自动化测试是现代软件工程保障质量、提升效率的核心实践。其原理在于通过脚本模拟用户操作,替代重复性手工测试,实现快速、精准的回归验证。在技术选型上,Python因其简洁语法和丰富生态成为主流,结合pytest测试框架、Selenium进行Web UI自动化以及Allure生成可视化报告,构成了高效的技术组合。这套技术栈的价值在于能构建可维护、可扩展的测试工程,显著提升测试执行速度和结果可靠性。其应用场景广泛覆盖Web、API及移动端的功能验证与回归测试。本文将以Python为核心,详细拆解如何整合pytest

weixin_42526166的博客 328

Python+Selenium+Unittest自动化框架

unittest 是python 的单元测试框架,unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案.

软件测试技术交流分享 406

Python+Pytest+Selenium Web自动化测试入门:环境搭建、核心操作与项目实战

Web自动化测试是软件测试领域的关键技术,旨在通过脚本模拟用户操作,替代重复、易错的手工测试,提升回归测试效率与软件交付质量。其核心原理在于利用浏览器驱动协议与页面对象模型(POM),实现对Web元素的定位、交互与验证。在众多技术栈中,Python因其语法简洁、生态丰富,成为自动化测试的热门语言。结合专为测试设计的Pytest框架(提供灵活的Fixture机制和参数化测试)与浏览器操控的事实标准Selenium,构成了一个低门槛、高灵活性的解决方案。该组合尤其适用于需要快速构建健壮测试套件的中小团队或个人学

weixin_34112399的博客 243

基于Selenium+Python的web自动化测试框架

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

gao2175的博客 4022

python自动化测试开发_基于python的selenium2自动化测试从基础到实战(Python3、selenium2、自动化测试、web测试)...

Selenium2是目前比较流行的一款针对web页面测试的自动化测试工具,他的前身是Selenium 。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。但是目前使用Selenium2做测试的基本是采用java或者c#编写测试代码的。大家都知道,Python也是目前是市场上比较热门的一门编程语言,所...

weixin_39901203的博客 259

Selenium基于Python的web自动化测试框架(1)-环境搭建

环境搭建前言一、selenium简介二、环境搭建1. 笔者环境2. Python安装2.1 原料:2.2 步骤恭喜你,python安装成功。开始你的代码之旅吧 前言 学习python+selenium实现UI自动化测试,要有一些HTML和xpth的基础,当然python基础一定是必须要会的。笔者建议花点时间了解下相关基础知识,不至于后面发懵。 Python:http://www.runoob.co...

兰海涛 1万+

Web UI 自动化测试方案(超级干货)

4、定制执行需要测试的用例,使用unittest,主要用的是TestSuite(测试套件)、和 5、TextTestRunner(文本测试运行器)[或者HTMLTestRunner]基础答案:自动化框架的建设,确定自动化框架的设计模式、第三方代码工具的封装、中间公共模块的设计和调用、测试用例、测试套件的管理和执行、测试报告和测试结果的输出(文件输出和邮件通知)非理想的情况下,可能只有一个人。上述代码中,我们需要定位的元素,处于 一个frame中:我们需要先切换到对应的frame中,然之操作,之后再退出。

hlsxjh的博客 1796

基于Selenium+Python的web自动化测试框架详解

Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。Selenium WebDriver:提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。

manbskjabgkb的博客 2134

断点回归(regression discontinuity design)学习笔记

本篇博文主要是对断点回归的一些学习和总结~ 学习材料如下: 1 断点回归设计RDD分类与操作案例 2 RDD断点回归, Stata程序百科全书式的宝典 3 断点回归设计的前沿研究现状, RDD 4 让“跳跃”更有意义:断点回归设计(RDD) 5 Stata: 断点回归 (RDD) 教程 6 怎么用通俗的语言解释断点回归?它与DID的区别是什么 7 Watering Down Environmental Regulation in China,Guojun He, Shaoda Wang, Bing Zhan

Claire_chen_jia的博客 9万+

selenium3+python UI自动化框架总结:从无到有

UI自动化适合项目:维护周期长,变动小,回归测试、每日构建后的验证测试、多平台相同测试案例、项目进度压力不大。 Selenium:用于Web应用程序测试的工具。支持多浏览器:Firefox、Chrome、IE、Opera、Edge;支持分布式测试用例执行。 前端技术:HTML、JavaScript、XML。 使用小工具:Firebug是抓包的,FirePath是定位的。(50及以上的无法直接安装插...

hi_testgirl的博客 269

AFSim插件开发实战:从环境搭建到功能扩展

本文详细介绍了AFSim插件开发的完整流程,从环境搭建到功能扩展,涵盖了SDK配置、插件创建、核心代码解析、功能扩展实战、调试优化以及高级开发技巧。通过实战案例和实用技巧,帮助开发者快速掌握AFSim插件开发,提升仿真系统的扩展性和灵活性。

weixin_29309475的博客 576

python pytest selenium 自动化测试框架搭建

python pytest selenium 自动化测试框架搭建 公司一直有这个自动化测试需求,前期利用c++或者python进行了一些自动化脚本的编写。这几天没有版本更迭,基于前期的工作,把自动化测试整理了一部分功能模块。现在的状态基本达到预期:即搭建了一个AutoTest框架,基于此实现了login、设备管理两个模块的自动化测试,并基于实际,进行了合理的wait优化,后期的工作就是继续完善其它模块的内容。截止2020年7月1日11:41:37,该架构,可实现模块自动化测试、html报告输出、...

没有蛀牙lm的博客 1万+

【笔记软件obsidian】从入门到精通

目录 一、前言 二、下载及安装 三、【选修】ios用户如何通过iCloud进行三平台同步 四、基本Markdown语法 五、【选修】插件的下载及安装方式 六、

patrick的博客 9万+

DeepSeek+Coze扣子搭建智能体(保姆级教程)

DeepSeek+Coze扣子搭建智能体(保姆级教程)

yizhen91y的博客 1万+

pyhton3+selenium的web页面自动化测试框架

web自动化测试框架 pyhton3+selenium3+unittest+HTMLTestRunner 源码地址:https://github.com/linyuli861/Automated-Test.git 环境部署: python3+Selenium+unittest+HTMLTestRunner+pageObject Web自动化测试框架 (Page Object设计模式)...

Li_linyu的博客 1万+

LMI线性矩阵不等式之非线性变量处理

​ 如果一个LMI线性矩阵不等式中的某项存在两个矩阵变量相乘,那么称该类情形为非线性矩阵不等式,而要直接求解时很困难的,而且LMI工具箱也无法求解非线性矩阵,所以需要通过变量替换法进行处理。 ​...

Mr.邹的博客 4549

【自动化测试】基于Selenium + Python的web自动化框架

基于Selenium实现的web自动化框架不仅轻量级而且灵活,可以快速的开发自动化测试用例,结合本篇的框架设计和一些好的实践,希望对大家以后的web自动化框架的设计和实现有所帮助。

kk_lzvvkpj的博客 1028

有关SPSS中Fisher精确检验无法进行的解决方法(由于无法打开临时文件,因此无法进行计算)

最近在帮一个四年生完成她的毕业论文,在用SPSS进行R×C表检验的时候,发现Fisher精确检验的结果无法显示,提示为“由于无法打开临时文件,因此无法进行计算”,大概像下图一样。 (这图是从网上找的) 然...

chuyang37的博客 3万+

EndNote X9 参考文献附录列表 格式调整

EndNote X9 插入参考文献常见问题总结

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2569

基于Selenium的web自动化框架

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

dasaisao0725的博客 3259

Linkage Mapper 输出文件夹结构解析——LCPs(栅格廊道)、LinkagePaths(矢量廊道)、Nodes(节点)

Linkage Mapper输出文件解析摘要 Linkage Mapper是生态连通性分析的重要工具,通过最小累积阻力模型(MCR)识别物种迁移廊道。其输出包含三类核心文件: LCPs(栅格廊道):存储累积阻力值的栅格数据,直观展示低阻力路径,适用于空间分析和廊道质量评估。 LinkagePaths(矢量廊道):以矢量线状要素精确记录廊道位置和走向,便于地图可视化及连通性分析。 Nodes(节点):标记廊道关键点(起点/终点/交汇点),为保护策略制定提供依据。 典型应用场景包括: 山地物种(如大熊猫)栖息地

走向CTO的路上... 1332

Python+selenium,轻松搭建Web自动化测试框架

【摘要】Python自动化测试已成为测试工程师必备技能,其中Selenium是最常用的自动化测试工具之一。文章介绍了Selenium的安装配置、基本操作(如元素定位、页面操作等),并通过实例演示了自动化测试流程。随着敏捷开发普及,掌握Python+Selenium组合能显著提升测试效率,是测试人员提升竞争力的关键。文末还提供了相关学习资源获取方式。

2401_86343726的博客 907

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Python + Selenium,分分钟搭建 Web 自动化测试框架

本节课程介绍 Selenium 的功能作用及安装、环境配置,并介绍 Selenium 常用的语法。知识点。

1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)

Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。Selenium WebDriver:提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。

MXB1220的博客 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: web自动化框架:selenium学习使用操作大全(Python版)
下一篇: 我要写一只蜘蛛:Linux-CentOS7+Python3+JDK8+Tomcat9+Chrome+RIDE+Jenkins
testleaf
博客等级 码龄7年 3514粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

testleaf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值