前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化测试工具-DrissionPage

自动化测试工具-DrissionPage

作者头像
wangmcn
发布2024-03-22 12:59:15
3401
发布2024-03-22 12:59:15
举报
文章被收录于专栏:AllTests软件测试AllTests软件测试

1、前言

自动化测试工具在现代软件开发中扮演着至关重要的角色。它们不仅能够提高测试效率,减少人为错误,还能够帮助开发团队更快速地交付高质量的软件产品。

本文将介绍一款简洁而强大的自动化测试工具-DrissionPage

2、简介

DrissionPage是一款基于Python的高效网页自动化工具。

它不仅能够操控浏览器,还能发送和接收数据包,并将这两种功能完美融合。

既保留了浏览器自动化的便捷性,又具备了requests库的高效处理能力。

功能强大,集成了众多人性化设计和实用功能。

语法简明优雅,代码简洁,非常适合初学者使用。

特性:

  • 无需特定的WebDriver驱动,免去下载不同版本驱动的烦恼。
  • 运行效率更高。
  • 支持跨iframe元素定位,无需频繁切换,简化操作流程。
  • 将iframe当作常规元素处理,直接在内部进行元素搜索,逻辑更加清晰。
  • 能够同时操控浏览器内多个标签页,即便标签页处于非活跃状态也无需进行切换。
  • 可直接利用浏览器缓存保存图片,避免使用图形界面进行手动另存。
  • 支持对整个网页进行截图,包括视口之外的内容(需浏览器版本90以上)。
  • 能够处理非open状态的shadow-root元素。

安装:

pip install DrissionPage

3、快速上手

1、操作浏览器

示例代码:

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:AllTests软件测试

from DrissionPage import ChromiumPage

# 创建页面对象,并启动或接管浏览器
page = ChromiumPage()
# 跳转到百度首页
page.get('https://www.baidu.com/')

# 定位到搜索框
ele = page.ele('#kw')
# 输入数据
ele.input('自动化测试')
# 点击百度一下
page.ele('@value=百度一下').click()

2、收发数据包

示例代码:

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:AllTests软件测试

from DrissionPage import SessionPage

# 创建页面对象
page = SessionPage()

# 访问作者博客
page.get('https://www.cnblogs.com/alltests')
# 获取所有<a>元素列表
links = page.eles('.postTitle2 vertical-middle')
# 遍历所有<a>元素
for link in links:
    # 打印链接信息
    print(link.text, link.link)

打印结果:

3、模式切换(操作浏览器、收发数据包)

示例代码:

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:AllTests软件测试

from DrissionPage import WebPage

# 创建页面对象
page = WebPage()
# 访问作者博客
page.get('https://www.cnblogs.com/alltests')
# 点击首页按钮
page('#blog_nav_myhome').click()
# 等待页面加载
page.wait.load_start()
# 切换到收发数据包模式
page.change_mode()
# 获取所有<a>元素列表
links = page.eles('.postTitle2 vertical-middle')
# 遍历所有<a>元素
for link in links:
    # 打印链接信息
    print(link.text, link.link)

运行结果:

浏览器先打开作者博客,点击首页按钮,之后切换收发数据包模式,控制台打印链接信息。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-17,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com