Python爬虫进行接口测试

2023-11-19

一、爬虫概述

1、爬虫简介

UI页面的测试,除了定位元素和模拟操作外,更多的是需要收集一些数据并进行后续的逻辑处理,这时就需要使用爬虫技术来实现数据有爬取。

爬虫技术也可以用于测试,例如通过爬虫对测试页面进行采集和分析,对功能点进行冒烟测试。网络爬虫可以爬取Web站点的内容,对爬虫爬取的对应接口添加断言,便可进行自动化测试。

通过循环不同的URL来抓取多个页面,便可将结果持久化以便进一步分析。

爬虫测试的核心在于爬虫,其流程大致如下。

(1)访问页面。可以使用requests库进行GET或者POST请求,访问页面资源。

(2)筛选元素和内容。针对返回的页面数据进行元素定位,可以使用BeautySoap 4或者正则匹配方式匹配出特定元素。例如,针对股票详情页收集该股票的开盘价、收盘价和量比等数据。

(3)持久化数据。根据收集到的数据,选择适合的持久化手段,如写入本地文件,或者使用关系型数据库写入相关表。持久化有利于后续的分析工作,使结果可视化有了数据基础。

(4)测试和断言。使用断言来判断爬取到的数据是否和预期的一致。根据断言结果来判断测试是否通过,以此发现功能缺陷和存在的逻辑问题。

以上步骤中的第(1)步可能遇到的问题是反爬虫策略。网站会对这种固定IP和浏览器信息高频访问某一页面的行为产生警觉,从而判断是非法爬虫并阻止爬虫爬取页面。反爬虫的策略非常多,如SSL证书验证、Reference(源地址)验证、IP限制、浏览器头信息验证,甚至还有MAC地址的限制等。

2、urllib库

针对访问页面的实现方式有很多,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬虫进行接口测试 的相关文章

随机推荐

  • 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示,,,

    题目介绍 给出两个 非空 的链表用来表示两个非负的整数 其中 它们各自的位数是按照 逆序 的方式存储的 并且它们的每个节点只能存储 一位 数字 如果 我们将这两个数相加起来 则会返回一个新的链表来表示它们的和 您可以假设除了数字 0 之外
  • 昨晚,谷歌发布了一个可怕的人工智能!

    昨晚 谷歌召开了一年一度的Google I O大会 没有太多废话 谷歌CEO劈柴直接抛出了这次大会的主题 AI人工智能 AI能做什么 其实 黑友们每天都在使用它 比如Siri或X爱助手 我们可以这样问 讲个笑话 1 1是多少 今天星期几 天
  • 成功解决Unable to allocate xxx MiB for an array with shape (xxxx, xxxx)

    原因 数据量太大 导致cpu内存不足导致的 解决方法 换个性能更好的电脑 numpy 在定义数组的时候 采用更低的精度 从float64降低为float32 array np zeros 10000 10000 dtype float32
  • 【Neo4j】第 1 章:图数据库

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Git安装与仓库配置(附带)

    Git的安装与仓库配置 前期准备 安装与配置 安装Git 注册账户 环境配置 配置用户名与邮箱 生成SSH 添加SSH 配置仓库 仓库建立 初始化仓库 提交文件操作 Git 的基本语法总结 总结小话 前期准备 下载Git安装包 根据需求不同
  • oracle bitmap join index

    下面是官网对于位图联合索引的说明 Use the bitmap join index clause to define a bitmap join index A bitmap join index is defined on a sing
  • centos6.5下php添加pdo_mysql扩展

    我的Mysql是用RPM方式安装的 PHP5 5是用源码编译安装的 查看phpinfo 后 发现没有pdo mysql扩展 进去到php的源码包的ext中 root linux php cd usr local src php 5 5 18
  • 最常用的五大算法

    一 贪心算法 贪心算法 又称贪婪算法 是指 在对问题求解时 总是做出在当前看来是最好的选择 也就是说 不从整体最优上加以考虑 他所做出的仅是在某种意义上的局部最优解 贪心算法不是对所有问题都能得到整体最优解 但对范围相当广泛的许多问题他能产
  • tomcat发布必须配置JAVA_HOME,但可以不配置CATALINA_HOME

    在同一台服务器上 使用tomcat 发布多个应用是经常的事情 经常出现的问题 1 就是tomcat多个应用之间不能使用同一个端口 今天又遇到一个问题 纠结上好长时间 记录 之前发布第一个应用的时候 按照网上的java开发的配置 把CATAL
  • printk()和printf()的比较

    1 前言 print函数和printf函数是对孪生兄弟 在功能作用上几乎是一样的 在使用上有一些区别 1 printk 和printf 之间的一个显著区别在于printk 允许通过指定一个标志来设置优先级 从而决定这条打印是否需要打印出来
  • STM32 GPIO的学习

    1 GPIO的作用 目前我使用的是STM32F0xx系列 参考数据手册Memory Map处可以看到ST所有的外设寄存器均处于Peripherals处 地址范围为0x40000 0000 0x48001800 其中包含了APB1 APB2
  • 孤立森林的简要记录

    20200920 0 引言 在之前的时候 进行一些任务分类的时候 使用过孤立森林来实现一些代码 但是也没有具体来深究原理 只知道这个跟随机森林有些像 都是决策树的一种集成方式 最近正好看到了这部分内容 就正好记录一下 本部分内容主要是有文章
  • gorm报错reflect: reflect.Value.SetInt using unaddressable value

    reflect reflect Value SetInt using unaddressable value 这种报错是应该传地址的时候传了值导致的 经过检查 gorm包下的方法如Create的参数应该是地址 比如 err global D
  • 代码复现不稳定应该怎么调整

    tensorflow转为pytorch代码 复现结果浮动较大 尝试方法 在测试和验证部分加入 model eval 去掉训练部分的shuffle 保证每次送入的数据一样 设定各个部分的随机种子 random seed 42 np rando
  • 8种常见的 代码 编译 软件 !!

    VS Code Source Insight Vim UltraEdit eclipse Understand Atom Sublime Text 接下来详细为大家讲解一下它们各自的用途 目录 1 VS Code 2 Source Insi
  • 密码学哈希函数_哈希函数在密码学中的应用

    密码学哈希函数 A Hash Function is a mathematical function that converts a numerical value into another compressed numeric value
  • FullGC问题分析

    一 常见的FullGC场景分析 频繁的大对象 大对象直接被分配到老年代 系统高负载运行 请求量很大 jvm来不及将对象转移到老年代 直接到老年代分配对象 系统内存泄漏 导致对象长时间在老年代 得不到释放 二 产生FullGC的原因 Syst
  • Tracy 小笔记 Vue - 数据展示,基本指令,绑定属性 v-bind,v-for,条件渲染,强制渲染

    数据展示 插值操作 data 里的数据都是怎么显示在页面上的 Mustache 语法 胡须 也就是双大括号 变量 简单表达式 基本指令 v once 指令的使用 h2 message h2 如果需求是只显示最初的值 以后值不变 就要加这个指
  • MFC读写excel文件

    MyExcel cpp include stdafx h include MyExcel h CMyExcel CMyExcel StartApp CMyExcel CMyExcel books Close sheet ReleaseDis
  • Python爬虫进行接口测试

    一 爬虫概述 1 爬虫简介 UI页面的测试 除了定位元素和模拟操作外 更多的是需要收集一些数据并进行后续的逻辑处理 这时就需要使用爬虫技术来实现数据有爬取 爬虫技术也可以用于测试 例如通过爬虫对测试页面进行采集和分析 对功能点进行冒烟测试