软件测试面试题自动化面经分享——这才是高薪的秘诀!

133 篇文章 34 订阅
订阅专栏
10 篇文章 7 订阅
订阅专栏
5 篇文章 1 订阅
订阅专栏

Hello,你们的好朋友来了!今天猜猜我给大家带来点啥干货呢?最近很多小伙伴出去面试的时候经常会被问到跟自动化测试相关的面试题。所以,今天特意给大家整理了一些经常被公司问到的自动化测试相关的面试题。停,咱先收藏起来好吗,别到时候找不到了,再问我要,我可就要装作不认识你了哈。

好了,咱废话不多说,直接上干货吧。

【留言:自动化测试面试题,免费获取】 

一. 第一个最常被问到的问题:你最熟悉的元素定位方式有哪些?

  1. id :根据 id 来获取元素,返回单个元素, id 值一般是唯一的;
  2. name :根据元素的 name 属性定位;
  3. tagName :根据元素的标签名定位;
  4. className :根据元素的样式 class 值定位;
  5. linkText :根据超链接的文本值定位;
  6. partialLinkText :根据超链接的部分文本值定位;
  7. cssSelector : css 选择器定位;
  8. xpath :通过元素的路径来定位;
  9. 优先级最高: ID
  10. 优先级其次: name
  11. 优先级再次: CSS selector
  12. 优先级再次: Xpath

二、如果一个元素无法定位,你一般会考虑哪些因素呢?

这个在我们实际自动化测试过程中也会经常遇到,那一般可以从以下几个方面去考虑:

1、元素定位的方式有误,可以检查元素定位的方法是否正确

2、页面元素加载过慢,需要添加等待时间

3、页面中有框架面,需要先切换到正确的frame框架再进行定位

三、如果一个元素无法定位,你一般会考虑哪些因素呢?

这个在我们实际自动化测试过程中也会经常遇到,那一般可以从以下几个方面去考虑:

1、元素定位的方式有误,可以检查元素定位的方法是否正确

2、页面元素加载过慢,需要添加等待时间

3、页面中有框架面,需要先切换到正确的frame框架再进行定位

四、说一说你知道的自动化测试框架

1、RobotFramework

2、Pytest

3、Unittest

4、PyUnit

五、自动化测试中有几种等待方式,它们之间有什么区别吗?

1、强制等待

time.sleep(3):这种等待方式,意味着必须要等待3秒才可以执行后续的代码。这种形式不够灵活,有可能页面3秒之内已经加载完了,但是还是需要等待3秒才能进行下一步操作。

2、隐式等待

Imlicitlywait:这种形式的等待会在时间内不断查找元素,找到后就可以停止等待。但是这种形式需要等待整个页面加载完成才能进行下一步操作。

3、显式等待

WebDriverWait:这种形式的等待,是针对某个元素进行等待,这个元素只要加载完成就可以执行后续的代码了。这种形式比较灵活。

六、什么是PO模式,它有哪三层?三者的关系是怎样的?

PO模式是一种自动化测试设计思想,是把一个页面看成一个对象,页面的元素看成对象的属性和行为。PO模式一般有三层:

基础层:封装一些最基础的方法

页面对象层:元素定位,页面操作等

测试用例层:业务逻辑,数据驱动

这三层的关系:

页面对象层继承基础层,测试用例层调用页面对象层

七、自动化测试的流程是什么?

1、编写自动化测试计划

2、设计自动化测试用例

3、开发自动化测试脚本

4、执行自动化测试脚本

5、生成自动化测试报告,并分析测试结果

八.你写的测试脚本能在不同浏览器上运行吗

当然可以,我写的用例可以在在 IE ,火狐和谷歌这三种浏览器上运行。实现的思路是封装一个方法,分
别传入一个浏览器的字符串,如果传入 IE 就使用 IE ,如果传入 FireFox 就使用 FireFox ,如果传入 Chrome
就使用 Chrome 浏览器,并且使用什么浏览器可以在总的 ini 配置文件中进行配置。需要注意的是每个浏
览器使用的驱动不一样。

九.在你做自动化过程中,遇到了什么问题吗?举例下

这个问题,不管是自动化还是任何工作,都会被问到。主要想知道你是如何解决问题的,从而推断你问
题分析和解决的能力。 当然有遇到问题和挑战,主要有以下几点: 频繁地变更 UI ,经常要修改页面对象
里面代码 运行用例报错和处理,例如元素不可见,元素找不到这样异常 测试脚本复用,尽可能多代码复
用 一些新框架产生的页面元素定位问题,例如 ck 编辑器,动态表格等

十.xpath和css定位都比较强大,那他们之间有什么区别?

① CSS locator 比 XPath locator 速度快 , 因为 css 是配合 html 来工作,它实现的原理是匹配对象的原理,而
xpath 是配合 xml 工作的,它实现的原理是遍历的原理,所以两者在设计上, css 性能更优秀
②对于 class 属性 Css 能直接匹配部分,而 Xpath 对于 class 跟普通属性一致
③ xpath 可匹配祖先元素 ,css 不可以
④查找兄弟元素, Css 只能查找元素后面 ( 弟弟妹妹 ) 的元素,不能向前找 ( 哥哥姐姐 )

十一. 列表推导式

列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。

它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。

  1. 列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层。
[x*y for x in range(1,5) if x > 2 for y in range(1,4) if y < 3]

他的执行顺序是:

for x in range(1,5)
    if x > 2
        for y in range(1,4)
            if y < 3
                x*y
  1. 请用列表导式实现,根据一个列表生成一个新的列表。
    根据某种规则:求平方。
    一行代码实现。
# 请用列表导式实现,根据一个列表生成一个新的列表
# 根据某种规则:求平方
# 一行代码实现


# 第一种并没有实现1和2
list1 = [1,2,3,4,5,6]
# list2 = []
# for i in list1:
#     print(i)
#     r = i * i
#     list2.append(r)
# print(list2)

# 第二种方法可实现
# 用map函数也可以实现
# result = map(lambda x:x*x,list1)
# print(list(result))

# 第三种方法可实现
# 列表推导式实现
# result = [i*i for i in list1]
# print(result)
result = [i**3 for i in list1]
print(result)

#最终只返回大于60的数字,补充i不是返回的结果,i是列表中的元素

result = [i**3 for i in list1 if i**3 > 60]
print(result)

 
# 第四种方法可实现
# 只计算大于3的数字即可
result = [i**3 for i in list1 if i > 3]
print(result)
# 只计算小于3的数字即可
result = [i**3 for i in list1 if i < 3]
print(result)

十二. 冒泡排序的排序思路

# 请使用冒泡排序法,将以下列表中的元素从小到大进行排序
list1 = [5,3,2,10,15,13]
# 实现思路是:两个相邻的数字进行比较,大的向上浮,小的向下沉,最后一个元素是最大的
"""
现在的列表:[5,3,2,10,15,13]
1、比较5和3,具体谁大,name5大于3,所以它们两个袁术的位置就要进行交换
[3,5,2,10,15,13]
2、比较5和2,此时的列表[3,5,2,10,15,13],5比2大,所以5和2交换位置
[3,2,5,10,15,13]
3、比较5和10,那么位置不动
[3,2,5,10,15,13]
4、比较10和15,那么10和15小,所以位置不动
[3,2,5,10,15,13]
5、比较15和13,那么15比13大,所以它们交换位置
[3,2,5,10,13,15]
----------------第一轮比较结束----------
6、比较3和2,那么3比2大,所以热门交换位置
[2,3,5,10,13,15]
7、比较3和5,那么3和5小,所以它们的位置不变
[2,3,5,10,13,15]
8、比较5和10,那么5比10小,所以它们的位置不变
[2,3,5,10,13,15]
9、比较10和13,那么10比13小,所以它们的位置不变
[2,3,5,10,13,15]
经过第一轮的比较,我们已经知道了最后一个元素就是最大的,所以这里13和15就不用比较了
----------------第二轮比较结束----------
10、比较2和3,那么2比3小,所以它们的位置不变
[2,3,5,10,13,15]
11、比较3和5
[2,3,5,10,13,15]
12、比较5和10
[2,3,5,10,13,15]
----------------第三轮比较结束----------
13、比较2和3,那么2比3小,所以它们的位置不变
[2,3,5,10,13,15]
14、比较3和5
[2,3,5,10,13,15]
----------------第四轮比较结束----------
这个时候意味着后边的4个已经确认了他们的顺序
15、比较2和3,那么2比3小,所以它们的位置不变
[2,3,5,10,13,15]


[3,5,2,10,15,13]
[3,2,5,10,15,13]
[3,2,5,10,15,13]
[3,2,5,10,15,13]
[3,2,5,10,13,15]
[2,3,5,10,13,15]
[2,3,5,10,13,15]
[2,3,5,10,13,15]
[2,3,5,10,13,15]

[2,3,5,10,13,15]
[2,3,5,10,13,15]
[2,3,5,10,13,15]

[2,3,5,10,13,15]
[2,3,5,10,13,15]

[2,3,5,10,13,15]
[2,3,5,10,13,15]

"""

十四. 冒泡排序法--代码实现

# 请使用冒泡排序法,将以下列表中的元素从小到大进行排序
list1 = [5,3,2,10,15,13]
# 实现思路是:两个相邻的数字进行比较,大的向上浮,小的向下沉,最后一个元素是最大的
"""
现在的列表:[5,3,2,10,15,13]
1、比较5和3,具体谁大,name5大于3,所以它们两个袁术的位置就要进行交换
[3,5,2,10,15,13]
2、比较5和2,此时的列表[3,5,2,10,15,13],5比2大,所以5和2交换位置
[3,2,5,10,15,13]
3、比较5和10,那么位置不动
[3,2,5,10,15,13]
4、比较10和15,那么10和15小,所以位置不动
[3,2,5,10,15,13]
5、比较15和13,那么15比13大,所以它们交换位置
[3,2,5,10,13,15]
----------------第一轮比较结束----------
6、比较3和2,那么3比2大,所以热门交换位置
[2,3,5,10,13,15]
7、比较3和5,那么3和5小,所以它们的位置不变
[2,3,5,10,13,15]
8、比较5和10,那么5比10小,所以它们的位置不变
[2,3,5,10,13,15]
9、比较10和13,那么10比13小,所以它们的位置不变
[2,3,5,10,13,15]
经过第一轮的比较,我们已经知道了最后一个元素就是最大的,所以这里13和15就不用比较了
----------------第二轮比较结束----------
10、比较2和3,那么2比3小,所以它们的位置不变
[2,3,5,10,13,15]
11、比较3和5
[2,3,5,10,13,15]
12、比较5和10
[2,3,5,10,13,15]
----------------第三轮比较结束----------
13、比较2和3,那么2比3小,所以它们的位置不变
[2,3,5,10,13,15]
14、比较3和5
[2,3,5,10,13,15]
----------------第四轮比较结束----------
这个时候意味着后边的4个已经确认了他们的顺序
15、比较2和3,那么2比3小,所以它们的位置不变
[2,3,5,10,13,15]



[3,2,5,10,13,15]
[3,2,5,10,15,13]
[3,2,5,10,15,13]
[3,2,5,10,15,13]
[3,5,2,10,15,13]
[5,3,2,10,15,13] 

"""
# 具体冒号排序的代码实现
def bubble_sort(blist):
    list_len = len(blist)
    print("传入参数列表的长度是{}".format(list_len))
    # 如何能够获取到相邻的两个元素
    # 外层循环就是用来控制轮次的
    for i in range(0,list_len-1):
        for j in  range(list_len-1):
            print("此时我们要排序的元素是{}和{}".format(blist[j],blist[j+1]))
            # 排序,交换位置
            if blist[j] > blist[j+1]:
                # 我们使用python特有的交换方法来进行交换
                  blist[j],blist[j+1] = blist[j+1],blist[j]
            print("此时的列表的形状是:{}".format(blist))
        print("========第{}轮比较结束========".format(i+1))
# bubble_sort(list1)

bubble_sort([3,5,67,89,90])

打印结果:

传入参数列表的长度是5
此时我们要排序的元素是3和5
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是5和67
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是67和89
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是89和90
此时的列表的形状是:[3, 5, 67, 89, 90]
========第1轮比较结束========
此时我们要排序的元素是3和5
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是5和67
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是67和89
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是89和90
此时的列表的形状是:[3, 5, 67, 89, 90]
========第2轮比较结束========
此时我们要排序的元素是3和5
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是5和67
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是67和89
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是89和90
此时的列表的形状是:[3, 5, 67, 89, 90]
========第3轮比较结束========
此时我们要排序的元素是3和5
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是5和67
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是67和89
此时的列表的形状是:[3, 5, 67, 89, 90]
此时我们要排序的元素是89和90
此时的列表的形状是:[3, 5, 67, 89, 90]
========第4轮比较结束========

Process finished with exit code 0

十五. 快速排序法的思想与实现

# 请使用快速排序法实现将以下列表中的元素从小到大的排序
list1 = [5,3,2,10,15,13]
"""
核心思想是
1、从列表中取出任意一个元素,但是我们一般取第一个
2、把这个取出米的元素作为比较的标准
3、把比这个元素小的放在左边
4、把比这个元素大的放在右边
"""
def quick_sort(quick_list):
    print("现在的列表是:{}".format(quick_list))
    if quick_list == []:
        print("------寻找结束,此时列表为空-------")
        return []
    first = quick_list[0]
    # 使用列表推导式加上递归实现
    print("开始寻找比第一个元素《《小》》的元素,第一个元素是{}".format(first))
    less = quick_sort([l for l in quick_list[1:] if l <first])
    print("开始寻找比第一个元素《《大》》的元素,第一个元素是{}".format(first))
    more = quick_sort([m for m in quick_list[1:] if m >= first])
    print("*****此时返回的列表是{}*****".format(less +[first] + more))
    return less +[first] + more
# print(quick_sort(list1))
print(quick_sort([4,2,56,35,78,46,89,1]))
打印结果:
现在的列表是:[4, 2, 56, 35, 78, 46, 89, 1]
开始寻找比第一个元素《《小》》的元素,第一个元素是4
现在的列表是:[2, 1]
开始寻找比第一个元素《《小》》的元素,第一个元素是2
现在的列表是:[1]
开始寻找比第一个元素《《小》》的元素,第一个元素是1
现在的列表是:[]
------寻找结束,此时列表为空-------
开始寻找比第一个元素《《大》》的元素,第一个元素是1
现在的列表是:[]
------寻找结束,此时列表为空-------
*****此时返回的列表是[1]*****
开始寻找比第一个元素《《大》》的元素,第一个元素是2
现在的列表是:[]
------寻找结束,此时列表为空-------
*****此时返回的列表是[1, 2]*****
开始寻找比第一个元素《《大》》的元素,第一个元素是4
现在的列表是:[56, 35, 78, 46, 89]
开始寻找比第一个元素《《小》》的元素,第一个元素是56
现在的列表是:[35, 46]
开始寻找比第一个元素《《小》》的元素,第一个元素是35
现在的列表是:[]
------寻找结束,此时列表为空-------
开始寻找比第一个元素《《大》》的元素,第一个元素是35
现在的列表是:[46]
开始寻找比第一个元素《《小》》的元素,第一个元素是46
现在的列表是:[]
------寻找结束,此时列表为空-------
开始寻找比第一个元素《《大》》的元素,第一个元素是46
现在的列表是:[]
------寻找结束,此时列表为空-------
*****此时返回的列表是[46]*****
*****此时返回的列表是[35, 46]*****
开始寻找比第一个元素《《大》》的元素,第一个元素是56
现在的列表是:[78, 89]
开始寻找比第一个元素《《小》》的元素,第一个元素是78
现在的列表是:[]
------寻找结束,此时列表为空-------
开始寻找比第一个元素《《大》》的元素,第一个元素是78
现在的列表是:[89]
开始寻找比第一个元素《《小》》的元素,第一个元素是89
现在的列表是:[]
------寻找结束,此时列表为空-------
开始寻找比第一个元素《《大》》的元素,第一个元素是89
现在的列表是:[]
------寻找结束,此时列表为空-------
*****此时返回的列表是[89]*****
*****此时返回的列表是[78, 89]*****
*****此时返回的列表是[35, 46, 56, 78, 89]*****
*****此时返回的列表是[1, 2, 4, 35, 46, 56, 78, 89]*****
[1, 2, 4, 35, 46, 56, 78, 89]

Process finished with exit code 0

十六. 网络协议分层

  • 网络协议分层-OSI模型

 

  • 网络协议分层-OSI模式-举例说明

 

  • OSI七层协议与TCP/IP五层协议及对应网络协议

 

十七. web自动化测试中的验证码问题

  1. 你是如何解决登录时验证码的问题的?
  • 验证码的分类
  1. 解决验证码的思路
  • 关闭
  • 万能验证码
  • 绕过
  1. 验证码的处理方法

     (1)取消验证码----->找开发把验证码代码注释掉,适用于测试环境
    
     (2)万能验证码----->找开发把验证码值设置为恒定的,适用于生产环境
    
     (3)识别验证码----->识别成功率不能保证,且只能识别比较简单的验证码
    
     (4)cookie跳过验证码--->通过记录cookie,实现自动登录
    
     (5)半自动化输入验证码---->遇到验证码时暂停一段时间,手动输入验证码
    

十八. 如何管理自动化测试用例?

  • 根据项目的大小
  • 根据项目的阶段(项目之初,项目迭代,项目稳定)

十九. 什么时候开展自动化测试

项目运行相对比较稳定的时候

  • 从项目流程看自动化测试执行的环境

二十.id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?

css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,所以首先使用的还是id或者name等。

二十一.如何去定位页面上动态加载的元素?

触发动态加载元素的事件,直至动态元素出现,进行定位

二十二.如何去定位属性动态变化的元素?

xpath或者css通过同级、父级、子级进行定位 

点击链接以后,Selenium是否会自动等待该页面加载完毕?

会的

--------------------------------------

你敢花3天背完这100道软件测试面试题嘛!背完这些面试题offer还不是手到擒来!!

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

 获取方式:留言【软件测试面试题】即可

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

博客
云计算平台OPENSTACK-IAAS服务搭建-双节点【详解】
03-27 2万+
目录OPENSTACK云平台基础架构步骤1.搭建虚拟机:2.IAAS搭建流程第一步 基础搭建:OPENSTACK云平台基础架构本来要搭建4节点,控制节点,网路节点,计算节点,存储节点,但是。。。。。此次搭建使用双节点测试,更多集群部署请自行增加即可。步骤openstack云平台基础架构 1.搭建虚拟机: 2.IAAS搭建流程 Controller搭建 Compute:(2核,8G) 组件部署 controller .
博客
jmeter 对 dubbo 接口测试是怎么实现的?有哪几个步骤
03-23 1万+
目录前言一.先了解下 dubbo 的原理,最好自己搭建一个案例可参考以下方式搭建http://09792bb8.wiz03.com/share/s/09uiKU3j2kR120MIpT2AdLm70pfBmE1zFApv2jiDZ01GhE8j二.编写 dubbo 测试脚本前言最近使用工作中使用jmeter调用dubbo接口进行接口测试,在实际尝试中遇到了一些问题,这里把这些问题整理了出来,特编写此文档,用作记录,同时分享给有需要的童鞋。 从我最近一段时间的测...
博客
测试如何定位判断是前端的bug还是后端bug
03-18 2万+
前言随着开发软件趋向于大型化复杂化,软件测试逐渐成为一个专业,需要运用专门的方法和手段,需要专门人才来管理。但是外面的小道消息总是在传:软件测试就只是找bug的!这个我可就不同意了~软件测试员是找bug,但也不仅仅是找bug。首先我们需要了解下什么是软件测试。软件测试简单点来说是验证软件在功能、性能等方面是否满足用户需求。在整个软件测试过程中,软件测试狭义上指软件初步发版后,对功能的完备度、对bug的情况进行整体测试;广义上来说,软件的测试应该围绕在软件的整个生命周期当中,对软件的操作和
博客
白盒测试怎么做?
03-15 3万+
目录前言一、什么是白盒测试二、白盒测试的分类三、白盒测试的设计方法四、白盒测试静态方法五、白盒测试动态方法六、白盒测试的特点七、总结前言在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待遇高。可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显迹象。测试工程师这个职位必将成为IT就业的新亮点。一、什么是白盒测试白盒测试又称结构测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计.
博客
JMeter 接口自动化测试:以搜索功能为例的实现思路详解
09-13 779
随着实践的深入,还可以探索JMeter更高级的功能,如参数化、关联、分布式测试等,进一步提升测试效率和质量。添加测试计划:打开JMeter,右键点击“测试计划”(Test Plan),选择“添加”(Add) -> “线程组”(Threads Group),命名并设置线程数、循环次数等。根据接口要求设置请求方法(通常是GET或POST),并在“参数”(Parameters)或“请求体”(Body Data)中填入必要的参数,比如搜索关键词。右键HTTP请求,选择“添加”->“断言”->“响应断言”。
博客
JMeter 接口自动化测试:以搜索功能为例的实现思路详解
08-31 1080
随着实践的深入,还可以探索JMeter更高级的功能,如参数化、关联、分布式测试等,进一步提升测试效率和质量。添加测试计划:打开JMeter,右键点击“测试计划”(Test Plan),选择“添加”(Add) -> “线程组”(Threads Group),命名并设置线程数、循环次数等。根据接口要求设置请求方法(通常是GET或POST),并在“参数”(Parameters)或“请求体”(Body Data)中填入必要的参数,比如搜索关键词。右键HTTP请求,选择“添加”->“断言”->“响应断言”。
博客
手把手教你用jmeter做压力测试(详图)
08-30 1212
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】设置我们需要测试的API的请求路径和数据。在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP请求默认值】。”上右键 【添加】-->【Threads(Users)】-->【线程组】。在我们刚刚创建的线程组上右键 【添加】-->【断言】-->【响应断言】。
博客
(完整爆料)性能测试工具JMeter实战知识点(一),快来看!
08-29 409
右键单击线程组 --> 添加 --> 配置元件 --> CSV Data Set Config。:右键单击线程组 --> 添加 --> 定时器 --> Synchronizing Timer。添加变量,设置名称和值 --> 添加用户,添加多个用户(如果添加的用户数不够,会循环取值):右键单击HTTP请求 --> 添加 --> 配置元件 --> HTTP信息头管理器。:右键单击线程组 --> 添加 --> 取样器 --> HTTP请求。:右键单击线程组 --> 添加 --> 监听器 --> 察看结果树。
博客
2024最新最全面的JMeter 做接口加密测试
08-28 642
4、实际上,由于JMeter5.0以上版本都有自带MD5的jar 包,所以,如果是MD5,实际上是不用再去单独导入jar包的,可以直接在代码中使用,也可以直接加密,当遇到一些特殊的加密方式,才需要开发打包。5.2、然后把这个包拼写到JMeter的HTTP请求上,这样也能实现,不过,就是不方便,不能压测。//括号中填写需要加密的字符串。5.1、去百度在线加密的网站上,找到你需要的加密方式,点击在线加密,然后把加密的HTTPS包通过F12抓出来,JMeter如果需要做加密测试,是需要加密类型对应的jar包的。
博客
JMeter 接口自动化测试的最佳实践 (建议收藏)
08-27 1068
是一个开源的负载,它可以模拟多种协议和应用程序的负载,包括和 JDBC 等。在进行接口自动化测试时,使用 JMeter 可以帮助我们快速地构建,模拟多种场景,发现接口的性能问题。下面是一些 JMeter 接口自动化测试的步骤和技巧。
博客
软件测试面试题-接口测试
08-26 992
首先了解参数的加解密方式,常见的有 md5、aes、rsa 等等,如果是 aes 的需要找开发要私钥,如果是 rsa 需要找开发要公钥和私钥,然后在接口测试工具中引用加解密的代码实现参数的加解密过程,实现参数加解密的处理;过程中,客户端和服务端开发的进度不一致,比如服务端先开发完了,这个时候可以先对服务端进行接口测试,确保服务端逻辑和返回数据是正确的,然后再测试客户端。C、 在开发提测后,可以先通过工具把服务端的接口测试跑一遍,确保接口测试用例都是通过的,快速判断服务端接口是否符合预期。
博客
一篇文章,教你彻底掌握接口测试!
08-25 1060
接口测试。
博客
Jmeter 性能测试实战教程
08-23 881
了解哪些业务(一般都是,比如等功能)以及哪些业务性能测试,需要执行性能测试的业务要考虑哪些性能指标,不同指标的一个理想值在什么范围?指标一般 CPU 占用率 <= 70%;指标一般要求 50% 的线程响应时间小于 1 秒90% 的线程响应时间小于 1 秒事务成功率 100% 等等)如何执行性能测试?一般有:针对单个功能进行测试;:根据客户要求,如 30 分钟内可以 2 万人登录;不同成员测试不同功能,同时开展!1 秒内启动所有线程(20 个)压测 5 分钟,观察性能指标;针对这个场景的测试流程大致与。
博客
2024最新最全面的高频JMeter软件测试面试题
08-22 1168
提取器和json提取器,比如说我们要获取一个Token,可以把获取到的Token值赋予一个变量,在下一个接口调用这个变量即可,如果需要提取的文本是页面上某元素的属性值,建议使用json提取器,如果需要提取的文本在页面上的位置不固定,或者不是元素的属性,建议。鼠标右击请求---断言---响应断言---响应断言,输入要检查比对的项,设置好断言后,执行接口用例,查看结果树,如果通过,不会有任何报错提示,如果断言失败,就会有红色报错。在配置元件中添加,适用于在测试计划中参数不经常变化的场景,例如设置host、
博客
使用JMeter进行接口测试教程
08-21 1076
进行接口测试时需要填写协议,IP地址及端口号,为了避免重复操作,可在线程组下添加HTTP请求默认值,填入协议、IP地址和端口号,这样后续的HTTP请求中就不用每次都填写了。(8) 忽略状态,一个请求有多个响应断言,第一个响应断言选中此项时,如果第一个响应断言失败时可以忽略此响应结果,继续进行下一个断言。、JSON断言,大小断言,JSR223断言等等,一共提供15种断言方式,一般常用的主要是响应断言,也可以用JSON断言。(2) 匹配,响应内容要完全匹配需要匹配的内容就表示响应成功,可结合正则表达式进行。
博客
史上最全,资深测试老鸟-接口测试总结,看这篇就足够了...
08-20 1285
②参数组合:现在有一个操作商品的接口,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品,商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。GET的URL会有长度上的限制,则POST的数据则可以非常大。比如说必填的参数不填,输入整数类型的,传入字符串类型,长度是10的,传11,总之就是你说怎么来,我就不怎么来,其实也就这三种,必传非必传、参数类型、入参长度。
博客
强大的接口测试可视化工具:Postman Flows
08-19 1294
Postman Flows是一种接口测试可视化工具,可以使用流的形式在Postman工作台将请求接口、数据处理和创建实际流程整合到一起。如下图所示Postman Flows是以API为中心的可视化应用程序开发界面。它提供了一个无限的画布用于编排和串连API,数据可视化来显示你的流的最终输出。
博客
2024最新最全面一线大厂面试Tips丨接口测试面试题
08-18 652
(4) 接口测试其他的关注点接口有翻页时,页码与页数的异常值测试数据库的增删改查,比如一个post接口操作完成后,通过列表页接口看下新的数据是否和刚才的post一致接口返回的图片地址能否打开,图片尺寸是否符合需求当输出参数有联动性时,需要校验返回两参数的实际结果是否都符合需求。(正例)接口逻辑测试是指根据业务逻辑、输入参数、输出值的描述,对正常输入情况下所得的输出值是否正确的测试,也就是测试对外提供的接口服务是否正常工作。接口测试我们是在XX项目做的,主要有XX接口,XX接口,XX接口等。
博客
不用写代码,也能做好接口测试
08-16 1080
实际项目中是有一份开发写好的API文档,可能是Word上,可能是RAP上,也有可能是在eolinker上,我在这里只是为了举例,通过F12取了2个接口的信息(如下面),写了2个不完整的API文档作为本文的操作示例。1、开发的API文档编写和测试的接口测试脚本编写,可以都在eolinker上进行,所以写测试脚本时,可以直接从eolinker的API文档功能模块中,导入API接口,写测试脚本只需添加断言,和要传的参数即可。为了补充用例,还要考虑特殊值的情况,比如0、空、null、负数、非特定类型值和重复值等;
博客
手把手教你接口性能测试之JMeter性能测试篇
08-15 3350
上面我们简单介绍了Jmeter如何进行接口测试的,下面我们更进一步,在接口功能测试完善的基础上,开展接口的另外一个层面的性能测试工作。在本篇中,我们对JMeter工具作了简单的介绍,且分别从接口测试以及接口并发测试的层面进行了图文介绍。对于接口性能测试方面,应当还涉及到相应的服务器性能监控,以及性能监控时需要观测的性能点,尤其是在开展性能测试之前需要进行性能测试的需求分析、制定测试计划、编写和调试测试脚本、收集测试结果、分析测试数据整合性能测试报告,诸多流程中涉及到很多细节,
写文章

热门文章

  • Android抓包工具——Fiddler 48266
  • 白盒测试怎么做? 37654
  • 超详细的 pytest 教程【入门篇】 30077
  • 十分钟弄懂最快的APP自动化工具uiautomator2(入门到精通) 28465
  • 云计算平台OPENSTACK-IAAS服务搭建-双节点【详解】 23063

分类专栏

  • 性能测试 18篇
  • 软件测试 133篇
  • Jenkins 2篇
  • 接口测试 21篇
  • Jmeter 24篇
  • 经验分享 152篇
  • 接口自动化测试 29篇
  • fiddler 3篇
  • 测试心得 45篇
  • selenium 7篇
  • MySQL 1篇
  • 测试工具 16篇
  • pytest 7篇
  • 自动化测试 97篇
  • 抓包工具 3篇
  • Charles 1篇
  • UI自动化测试 3篇
  • 软件测试工程师 42篇
  • 面试题 5篇
  • 软件测试面试题 10篇
  • 测试用例 5篇
  • 软件测试心得 24篇
  • k8s 1篇
  • 车载测试 1篇
  • 自动化测试框架 6篇
  • Redis 1篇
  • request库 7篇
  • 干货分享 7篇
  • 测试开发 5篇
  • 游戏测试 1篇
  • postman 7篇
  • 集成测试 2篇
  • appium自动化框架 1篇
  • 功能测试 4篇
  • JavaScript 1篇
  • 实战项目类 1篇
  • 团队管理 1篇
  • 测试报告模板 1篇
  • 接口功能测试 3篇
  • 软件测试基础理论知识 2篇
  • 进阶测试工程师资料大全 1篇
  • 软件测试面试技巧 2篇
  • web自动化 3篇
  • Linux 2篇
  • pycharm
  • 测试报告muban
  • 软件测试工具模板 1篇

最新评论

  • 如何将 Apifox 的自动化测试与 Jenkins 集成?

    蓝夏曦月焰: 请问一下我在设置好流水线之后,立即构建报一下错误,要怎么解决呢?hudson.remoting.ProxyException: java.net.SocketTimeoutException: Connect timed out at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:551) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) at java.base/java.net.Socket.connect(Socket.java:633) at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:533) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:638) at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266) at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193) at java.b

  • 手把手教你用jmeter做压力测试(详图)

    ha_lydms: 博主文章深度理解和清晰的表达方式使复杂的技术概念变得容易理解,值得收藏点赞。博主用心很有耐心,更有对知识的热忱和热爱,写了这么实用有效的分享,期盼博主能够光顾我的博客,给予宝贵的指导!

  • 2024最新最全面的Selenium 3.0 + Python自动化测试框架

    W302660: 感谢前辈表情包表情包表情包

  • Android抓包工具——Fiddler

    qq_47313728: 可以抓手机虚拟机里app的包吗

  • 2023测试人必备60个实用测试工具推荐,让你成为测试大咖

    m0_73843862: 软件测试学习

大家在看

  • 占用消防通道监测摄像机
  • 前端框架的选择和对比 345
  • 基于物联网技术的智能运动检测仪设计(微信小程序)(230)
  • Vue.js与Flask/Django后端配合 545
  • 数字业务转型的核心指南:如何从理论框架到企业实现数字化转型的成功路径 1575

最新文章

  • JMeter 接口自动化测试:以搜索功能为例的实现思路详解
  • JMeter 接口自动化测试:以搜索功能为例的实现思路详解
  • 手把手教你用jmeter做压力测试(详图)
2024
09月 1篇
08月 26篇
07月 27篇
06月 14篇
05月 18篇
04月 6篇
02月 5篇
01月 8篇
2023年171篇
2022年230篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

天下网标王许昌网站关键词优化排名系统清远公司网站关键词优化工具滦县专业的网站优化哪家好伊犁网站优化定制网站需要做什么优化贺兰县网站seo优化排名网站内部链接优化方法淘宝网的网站优化网站怎么才能优化上首位搜索引擎优化网站网站优化推广有哪些技巧网站排名百灵鸟 优化网站推广优化す询苏da峰1滁州很好的网站优化用户体验泰兴网站优化方式银川怎么做网站优化什么网站可以优化系统怎样给网站优化高新区网站优化服务甘肃营销网站优化报价博罗网站排名优化招聘seo网站优化人员如何做好网站内部优化青岛网站优化公司哪家好网站优化到期后怎么让客户续费江阴第三方网站优化软件是真的吗网站优化周期网站快速排名优化报价滑县网站优化哪家公司正规seo网站优化专家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化