首页 > 其他分享 >6-面试题(Web自动化测试)

6-面试题(Web自动化测试)

时间:2023-04-13 09:45:47浏览次数:31  
标签:脚本 Web 面试题 selenium 接口 模块 自动化 requests 页面

1、如何提升webui自动化的稳定性
1·导致ui自动化不稳定的因素

1.1 web页面的多变

1.2 页面隐藏元素

1.3 页面元素加载不稳定

1.4 系统业务复杂

1.5 ajax请求问题

1.6 测试环境数据准备问题

2·解决问题的各种方法
1.从自动化框架解决问题

1.1设置显式等待

重写selenium的底层接口,加入显式等待,设置等待条件及异常处理;

1.2等待页面加载稳定

重写selenium的底层接口,定位元素前需要先等待页面加载稳定,页面加载稳定的判断条件为"页面源码在限定时间内不再发生变化";

1.3过滤隐藏元素

重写selenium的底层接口,在selenium判断的基础上,过滤掉页面特殊的隐藏元素,增强脚本容错性;

1.4设置xhr请求等待

重写selenium的底层接口,在脚本开启代理的情况下,判断xhr请求是否都已经响应,此处可作为选配仅在脚本开启代理时作判断

1.5继承requests模块

传统的webui框架结构时测试报告模块+日志模块+项目配置文件模块+unittest模块+selenium模块,可以在此基础上集成requests模块。

requests模块提供接口请求、获取响应内容、解析响应内容的基本封装。

2.从设计模式解决问题

2.1采用pom设计模式

a.页面元素在发生变化时,我们仅需从底层修改对应页面对象,大大降低了后期的维护成本;

b.将复杂的业务逻辑划分成多个细小单元,通过组织这些细小单元形成我们的业务代码,增强代码的复用性,提高效率;

c.统一代码风格,减少个人不良的代码习惯对脚本稳定性的影响;

2.2通过requests模块完成环境数据准备

a.提高脚本执行效率

b.减少脚本在非用例验证点的地方提前报错,提升脚本容错率

c.增强脚本可操作性,便捷获取业务系统的一些关键数据,减少ui操作

标签:脚本,Web,面试题,selenium,接口,模块,自动化,requests,页面
From: https://www.cnblogs.com/testerxm/p/17312266.html

相关文章

  • 一个Java web 应用系统的需求文档示例:
    #需求文档##引言本文档旨在描述一个在线商城网站的需求,并给出设计方案。该网站是一个B2C电商平台,旨在提供给用户方便快捷的购物体验。本文档面向的读者包括项目经理、开发人员、测试人员和其他与该系统相关的人员。##功能需求本次需求的功能需求包括:1.用户登录和注......
  • 前端自动化测试之葵花宝典
    作者:京东零售杜兴文首先聊一下概念,Web前端自动化测试是一种通过编写代码来自动化执行Web应用程序的测试任务的方法,它通常使用JavaScript和测试框架(如Selenium、Appium等)来实现。Web前端自动化测试的优点是可以提高测试效率、减少测试时间和测试成本,并且可以确保测......
  • 2.1万字,30张图详解操作系统常见面试题(收藏版)
    耗时两周,新版的操作系统常见知识点/问题总结总算搞完了,手绘了30多张图。大家可以用来复习操作系统或者准备操作系统面试。对于大部分公司的面试来说基本够用了,不过,像腾讯、字节这种大厂的面试还是要适当深入一些。这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如用......
  • 读取Excel表格数据做接口自动化测试并回写执行结果(待完善更新)
     待测试接口:代码脚本:控制台日志:执行结果:后续待完善:Excel表格增加请求方式(常用方式POST/GET/PUT)列;根据Excel表格内容(请求头Header、请求参数Parameter、请求体Body)发起请求;根据Excel表格内容(期望响应码、期望响应内容)与实际响应内容校验;考虑更多应用场景,增加判断......
  • #yyds干货盘点# LeetCode面试题:搜索二维矩阵
    1.简述:编写一个高效的算法来判断 mxn 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。 示例1:输入:matrix=[[1,3,5,7],[10,11,16,20],[23,30,34,60]],target=3输出:true示例2:输入:matrix=[[1,......
  • AWS上DevOps实验(三)--- 使用Terraform创建Web应用基础架构
    从本文档起,作者计划在AWS上做一系列DevOps/IaC相关实验,本文是第三篇,使用Terraform创建Web应用基础架构。本次实验架构图本次实验架构图如下:Terraform代码本次代码可以从下载代码结构如下:文档如下:$lltotal52-rw-r--r--1ec2-userec2-user3201Mar603:22appser......
  • 读取Excel表格数据做接口自动化测试并回写执行结果(待完善更新)11
    读取Excel表格数据做接口自动化测试并回写执行结果(待完善)待测试接口:代码脚本:控制台日志:执行结果:后续待完善:Excel表格增加请求方式(常用方式POST/GET/PUT)列;根据Excel表格内容(请求头Header、请求参数Parameter、请求体Body)发起请求;根据Excel表格内容(期望响应码、期望响应内容)与实际响......
  • web前端开发理论解析
    在Linux下,()命令是只查询系统内存的使用情况。A.topB.vmstatC.free-mD.iostatC.`free-m`命令是用来查询Linux系统内存使用情况的命令,它会显示空闲内存、已使用内存、缓存等信息。而`top`、`vmstat`和`iostat`命令则不仅可以查询内存使用情况,还能查看CPU、磁盘和网......
  • SpringBoot向web容器注入Servlet,Filter及SpringSecurity注册DelegatingFilterProxy
    从SpringSecurity架构图可知SpringSecurity的过滤器与Web容器的过滤器是通过DelegatingFilterProxy接入的。由DelegatingFilterProxy代理了FilterChainProxy,FilterChainProxy包含了SpringSecurity的过滤器链。 那么DelegatingFilterProxy是怎么创建及如何加入到Web容器中? 看......
  • 3-面试题(python)
    1、列表和字典的区别字典是{}表示的,列表是[]表示的;字典是无序的不能通过索引来取值,列表是有序的;字典是以键值对的形式存在的,列表相当于一个容器,里面可以放置任何的数据类型; 2、python中的数据类型string、number、tuple、list、dictionary、set;3、python怎么将一个对象转......