更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: Python/Ruby
2023-06-12 16:54:14
Python是一种面向对象、解释型、跨平台的高级程序设计语言,可应用于诸多领域,比如:web开发、网络爬虫、数据分析、自动化测试、自动化运维等,其中自动化测试是很多Python人员的首选就业方向,本文为大家总结了一些Python自动化测试面试常见问题,你答对了吗?
1、什么项目适合做自动化测试?
不变的、重复的、规范的
①任务测试明确,需求不会频繁变动
②项目周期要足够长
③自动化测试脚本可重复使用,比如:比较频繁的回归测试
④被测软件系统开发比较规范,能够保证系统的可测试性
⑤软件系统界面稳定,变动少
⑥项目进度压力不太大
2、什么是PO模式?
是指把一个具体的页面转化为编程语言当中的一个对象,页面特性转化成对象属性,页面操作转化为对象方法。
①通俗来讲把每个页面当成一个对象,页面层写定位元素方法和页面操作方法
②用例层从页面层调用操作方法,写成用例
③可以做到定位元素与脚本的分离
④主要用来实现对页面操作和测试逻辑的一个分离
3、Python中*args和**kwargs的作用?
都是不定长参数,解决参数不固定问题。
args是非关键字参数,用于元组;kwargs是关键字参数
也就是说args表示任何多个无名参数,然而kwargs表示一个有着对应关系的关键字参数
在使用的时候需要注意,*args要在**kwargs之前,不然会发生语法错误。
4、关闭浏览器中的quit和close的区别?
简单来说,两个都可以实现退出浏览器session功能。
close只会关闭浏览器,而quit关闭全部浏览器的同时,也会杀掉驱动进程。
5、举例一下你遇到过哪些异常?
①ElementNotSelectableException:元素不能选择异常
②ElementNotVisibleException:元素不可见异常
③NoSuchAttributeException:没有这样属性异常
④NoSuchElementException:没有该元素异常
⑤NoSuchFrameException:没有该frame异常
⑥TimeoutException:超时异常
6、如何提高selenium脚本的执行速度?
①使用显性等待,减少强制等待或隐性等待的使用。
②减少不必要的操作步骤。
③如果页面加载的内容过多,就设置超时时间,中断页面加载。