自动化测试框架:DrissionPage(1)——安装与设置

这篇具有很好参考价值的文章主要介绍了自动化测试框架:DrissionPage(1)——安装与设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

发现了一款基于Python的网页自动化工具:DrissionPage。这款工具既能控制浏览器,也能收发数据包,甚至能把两者合而为一,简单来说:集合了WEB浏览器自动化的便利性和 requests 的高效率优点。

一、DrissionPage框架产生背景
对网页实现自动化,通常会有两类形式:

直接向服务器发送请求数据包,获取需要的数据,模拟数据流向操作。
控制浏览器跟网页进行交互,模拟用户界面操作。
前者轻量级,速度快,例如requests 库。但requests面对需要登录的网站时,往往还要应付验证码、JS 混淆、签名参数等反爬手段,门槛较高。若数据是由 JS 计算生成的,还须重现计算过程,开发效率不高。

而后者直接使用浏览器,模拟用户行为,如Selenium库,可以很大程度上绕过这些坑,但浏览器运行效率不高。

因此,DrissionPage设计初衷,是将它们合而为一,能够在不同须要时切换相应模式,并提供一种人性化的使用方法,提高开发和运行效率。

为什么叫DrissionPage
Selenium框架用于操作浏览器的对象叫 Driver,requests 用于管理请求连接的对象叫 Session,因此Drission 就是它们两者的合体。在旧版本中,是通过对 selenium 和 requests 的重新封装实现的。

但从 3.0 版开始,作者另起炉灶,用 chromium 协议自行实现了 selenium 全部功能,从而摆脱了对 selenium 的依赖,功能更多更强,运行效率更高,开发更灵活。

二、DrissionPage框架亮点特色
本库采用全自研的内核,对比 selenium,有以下优点:

无 webdriver 特征,不会被网站识别,无需为不同版本的浏览器下载不同的驱动 。
运行速度更快,可以跨 iframe 查找元素,无需切入切出,iframe 看作普通元素,获取后可直接在其中查找元素,逻辑更清晰。
可以同时操作浏览器中的多个标签页,即使标签页为非激活状态,无需切换。
内置等待和自动重试功能。使不稳定的网络变得易于控制,程序更稳定,编写更省心。
允许反复使用已经打开的浏览器。无须每次运行从头启动浏览器,调试超方便。
极简的语法规则。集成大量常用功能,定位元素更加容易,功能更强大稳定。
使用 POM 模式封装,可直接用于测试,便于扩展。
等等。。。


三、安装搭建
说了这么多,相信很多人已经跃跃欲试了,怎么快速搭建这套框架,先要准备一些基础环境。

环境准备

操作系统:Windows、Linux 或 Mac。
Python 版本:3.6 及以上(建议使用3.7及已上版本,因为3.6版本不支持最新的DrissionPage3.2版本)
支持浏览器:Chromium 内核(如 Chrome 和 Edge)
 

使用 pip 安装 DrissionPage(cmd下安装):

pip install DrissionPage

安装过程也是遇到了很多麻烦,下载就花了很多时间,中间下载一直断,就一直运行安装命令,总算多次安装后安装完成了。但是就觉得很奇怪:

自动化测试框架:DrissionPage(1)——安装与设置,自动化测试,python,DrissionPage,自动化测试

 明明最新的是3.2.24版本,怎么一直下载到了3.1.6版本呢

使用pip show DrissionPage命令,查看安装的版本,果然是3.1.6版本

自动化测试框架:DrissionPage(1)——安装与设置,自动化测试,python,DrissionPage,自动化测试

 不甘心,我就想安装最新的3.2.24版本,到网上找安装包。

地址:DrissionPage · PyPI

自动化测试框架:DrissionPage(1)——安装与设置,自动化测试,python,DrissionPage,自动化测试

下载完后继续安装,又有了新问题:

自动化测试框架:DrissionPage(1)——安装与设置,自动化测试,python,DrissionPage,自动化测试

 一个click包,要8.1.3版本,但是下面显示最高到8.0.4版本。

直接使用命令pip install click==8.1.3安装,还是失败

自动化测试框架:DrissionPage(1)——安装与设置,自动化测试,python,DrissionPage,自动化测试

 继续上网搜,到https://pypi.org/,搜click,查看8.1.3版本,发现需要python3.7版本以上才能支持

自动化测试框架:DrissionPage(1)——安装与设置,自动化测试,python,DrissionPage,自动化测试

 查看一下自己安装的Python版本,是3.6.3 

自动化测试框架:DrissionPage(1)——安装与设置,自动化测试,python,DrissionPage,自动化测试

因为我使用的是Anaconda集成环境,为了更新python,我首先先尝试更新Anaconda,更新方法如下:

自动化测试框架:DrissionPage(1)——安装与设置,自动化测试,python,DrissionPage,自动化测试

但是,更新失败,一直报ERROR REPORT,中间过程不表,尝试了很多方法也没有成功。最终只能卸载了Anaconda,然后去Anaconda官网下载了最新的版本,重新安装。最新版本中的python是3.10版本。安装完成后,再次安装DrissionPage,终于成功安装了最新版本3.2.24。

安装完成后,还需要设置浏览器路径:

from DrissionPage.easy_set import set_paths
set_paths(browser_path=r'这里修改为您的Chrome浏览器exe文件路径')

这段代码会记录 Chrome 浏览器路径到配置文件。由于路径设置只要运行一次即可,不要写到正式程序里。一般建议新建一个临时 py 文件,并输入以下代码,填入您电脑里的 Chrome 浏览器 exe 文件路径,然后执行。

好了至此安装设置完成,接下来可以开始正式写脚本了。文章来源地址https://www.toymoban.com/news/detail-742333.html

到了这里,关于自动化测试框架:DrissionPage(1)——安装与设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【自动化测试】几种常见的自动化测试框架

    在软件测试领域,自动化测试框架有很多,这里主要介绍几种常用的自动化测试框架。 pytest 是 Python 的一种单元测试框架,与 Python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。主要有以下几个特点: 简单灵活,容易上手。 支持参数化。 能

    2024年02月07日
    浏览(48)
  • 自动化测试(三):接口自动化pytest测试框架

    API:Application Programming Interface 接口自动化按照自动化的工具可分为 基于 接口测试工具 的接口自动化 eg1:Postman+Newman+git/Svn+Jenkins(基于Javascript语言)接口自动化 Postman :创建和发送 API 请求,并对响应进行断言和验证。 Newman : Postman 的命令行工具,它允许测试人员在没有界

    2024年02月10日
    浏览(65)
  • 从0到1精通自动化测试,pytest自动化测试框架,doctest测试框架(十四)

    doctest从字面意思上看,那就是文档测试。doctest是python里面自带的一个模块,它实际上是单元测试的一种。 官方解释:doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果 doctest测试用例可以放在两个地方 函数或者方法下的注释里面 模块的

    2024年02月11日
    浏览(90)
  • 自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)

    1、什么是自动化测试? 程序测试程序、代码代替思维、脚本代替人工 核心:质量和效率 作用:降低成本、节省人力时间、推动CI和DevOps、准确性和可靠性、模拟人工难以实现的手段、快速持续迭代发布能力、衡量产品的质量、提升测试效率、提高测试覆盖率 2、手工测试

    2024年03月08日
    浏览(81)
  • python自动化测试- 自动化框架及工具

    手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到的  测试自动化  也将围绕着  接口自动化  来介绍。 本系列选择的测试语言是 python 脚本语言。由于其官方文档已经对原理

    2024年02月22日
    浏览(66)
  • Pytest自动化测试框架---(单元测试框架)

    unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发一些功能(报告,初始化webdriver,或者http请求方法)便可实现。 但自

    2024年02月14日
    浏览(70)
  • UI自动化概念+Web自动化测试框架

    1.UI自动化测试概念:我们先明确什么是UI UI,即(User Interface简称UI用户界面)是系统和用户之间进行交互和信息交换的媒介 UI自动化测试: Web自动化测试和移动自动化测试都属于UI自动化测试,UI自动化测试就是借助自动化工具对程序UI层进行自动化的测试 2.为什么对UI采用自动化

    2024年02月06日
    浏览(78)
  • Selenium+python怎么搭建自动化测试框架、执行自动化测试用例、生成自动化测试报告、发送测试报告邮件

    本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用。后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的学习和应用。 以下整理的只是书中自动化项目的知识内容,介绍怎么搭

    2024年02月05日
    浏览(67)
  • 接口自动化测试实践指导(下):接口自动化测试断言设置思路

    作者 : 石臻臻 , CSDN博客之星Top5 、 Kafka Contributor 、 nacos Contributor 、 华为云 MVP , 腾讯云TVP , 滴滴Kafka技术专家 、 KnowStreaming 。 KnowStreaming 是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,当你导师带你参与开源! 。 在

    2024年01月18日
    浏览(76)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包