软件测试-自动化测试面试题

  1. python浅拷贝和深拷贝的区别是什么,分别代表着什么含义?

答案:加入说一个人有name,有age,有skill。浅拷贝的话是将这三个对象都复制一遍,而深拷贝是将skill进行改变,并生成一个新的对象。

  1. ui自动化中遇到元素定位不到,你想到什么方式去解决?

答案:1.元素定位不到我会去看这个元素是否在frame框架中,看需不需要切框架。

2.有可能这个元素的是动态元素,需要用到xpath中的starts-with方法来进行模糊匹配。

  1. ui自动化中有什么难点解决了很久才解决好?

答案:

1.提示在页面封装类中没有basePage.py文件中定义好的函数问题:

  1) 新建名字为module_basePage.pth文件,内容为“basePage.py文件”存放路径:例如(“d:\\test\\page”)

  2) 进入python的安装目录,将文件放到python3\lib\sit-packages文件夹下

  3) 在测试用例中导入其他文件夹模块引入:import sys

  4) sys.path.append(“..”)

  5) from .... import ...

  1. pytest中有什么装饰器?(一般说三四个即可)

答案:1.pytest.skip (用于函数内,跳过测试用例)

2.fixture(函数作为参数)

3.odering(改变用例执行顺序)

4.rerunfailure(失败用例重跑)

  1. python中==与is的区别?

答案:在同一种情况下进行判断,比如说判断用例是否是预期结果,使用==的话会返回ture,而使用is的话false,所以说==做判断更加的准确。

  1. ui自动化八大元素定位分别是什么?

答案:id,name,classname,xpath,css,text,title,tag_name,link_text。

  1. ui自动化中对页面有哪些处理方式?可以举例说明吗?

答案:1.切换句柄,多窗口处理,关闭页面。

2.因为在实际编写测试用例的过程当中,根据用例的场景,假如说我加入购物车打开了新的窗口,那么我需要到之前的窗口的话,就需要进行多窗口处理。

  1. 接口自动化测试参数化是怎么做的?

答案:1.在做接口自动化参数化时,首先先准备csv文件对需要进行参数化的接口进行输入。这些接口基本上是场景业务中的登录,加入购物车,添加设备等等这些业务。字段的化就是user_id,passwrod这些字段。2.在pytest中进行实现,需要使用parametrize(参数化)这个装饰器来参数化。其次要定义一个函数,函数中要运用到openpyxl这个包来,读取我们的csv文件,作为一个方法来使用。然后在这个case中调用这个方法,而这些csv中的参数都会作为字段来传参。这样就实现了参数化。

  1. unittest与pytest的区别?

答案:1.在python中unittest和pytest都是自动化测试框架。unittest更适合做ui自动化测试,而pytest更适合做接口自动化测试。 2.unittest在编写用例时需要基础testcase这个包才能进行编写,而pytest只要是个方法,不需要被定义就能编写用例。在pytest中有丰富的插件可以进行使用,而且用例的执行方式除了用mian的方法还能用命令的方式进行执行。而unittest就没有pytest这么强大,可以说pytest是unittest的父亲。uniitest中写的用例,再pytest中一样也能够执行,pytest兼容unittest,而unittest不兼容pytest。

  1. 接口自动化和ui自动化的断言方式有什么区别?

答案:1.接口自动化的断言是根据业务状态码来断言,是使用arrest的这个函数来进行判断,一些业务状态码如:404,500,403等等。根据实际的接口请求参数和返回状态码来进行判断,核对用例是否符合预期结果。

2.ui自动化测试是根据实际的业务场景对功能操作和前端的各种组件,来校验的。而它的校验对象就是url地址,已经某个弹窗点击按钮之后,页面上会返回什么文案,等等。根据页面上实际的操作结果,来进行判断。同样也是使用arrest这个函数来判断预期结果是否符合实际结果。

  1. 接口自动化和ui自动化的利与弊是什么?

答案:1.利:不管是ui自动化还是接口自动化它执行速度都很快,而且能够对一些关键的场景及功能,进行回归测试来冒烟测试。能够确保产品的稳定性,保证主要的流程功能不会出错。能够大大降低企业的成本,能够代替人工点点点。

2.弊:自动化只适合一些需求比较稳定的产品,需求没有很大的变更。自动化的编写时间较长,通常一天之内编写十几条测试用例。

  1. 登录页面,获取验证码这个流程该怎么解决?

答案:万能验证码,cookies绕过登录,cookies中有个sessionid,有效期限为30分钟。

  1. ui自动化中拼图组件该怎么实现?

答案:需要用到python中cv2这个包,来进行人工智能的图片识别!

14.一般来说cookies的有效时间是多久?

答案:30分钟

15.为什么有一些老的系统没有token但是又cookies?

答案:token是这几年才出来的新东西,老的系统大概率是用php开发所以没有cookies

  1. ui自动化是所有的case都用来写自动化吗?

答案:不需要这样管理起来会很麻烦,我们只对主流程场景功能的case来进行编写自动化。‘

  1. 上家公司自动化与功能测试的占比是多少?

答案:如果你面试的是自动化的岗位,一定要回答百分之70以上,不然他绝对不会要你!!

  1. 在上家公司一共写了多少个自动化用例?

答案:这个随便说,150,200,300都可以,但是绝对不能说太少。

  1. 你用的这个自动化框架的目录结构是怎么样的?

config层

放配置文件,把所有的项目相关的配置均放到这里。

data层

放数据文件,可以把所有的测试用例的参数化相关的文件放到这里,一般可采用xlsx、csv、xml等格式。

drivers层

放所需的驱动,如Chromedriver、IEDriverServer等。

log层

所有生成的日志均存放在这里,可将日志分类,如运行时日志test log,错误日志error log等。

report层

放程序运行生成的报告,一般可有html报告、excel报告、截图等。

testcase层

编写测试用例

testsuite层

编写执行条件,定义执行方式,执行测试用例

  1. ui自动化中beaspage这个类,主要是定义一些什么呢?

答案:一般定义的都是页面上的属性操作方法等等。

19.持续集成有什么作用?

答案:1.能够对项目进行,持续交付,持续部署等等 一套比较好的线性脚本框架: python+pytest+jenkins+allure+企业微信发送报告。这是一套企业中用得最多的框架。

如果有说的不对的地方,大家在评论区评论。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值