自动化测试面试题

本文详细介绍TestNG注解及优势,阐述断言概念,解释Web自动化与Selenium框架,探讨Selenium接口、元素定位、XPath应用,以及WebDriverWait、元素交互、下拉菜单选择、自动化测试分类等关键主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、testNG中注解有哪些

 

二、TestNG有哪些优点

TestNG的注释非常强大和方便

TestNG允许并行测试

TestNG可以给予group方式执行测试

TestNG可以生成测试报表,并且报表展示多样化,可以在其基础上自行开发测试报告,插件以及测试监听器等

三、什么是断言

断言assert 用于代码中验证实际结果符合预期结果,如果测试用例失败,则抛出异常并且提供断言日志

四、什么事web自动化

指的是从UI界面,也就是用户界面层面进行的自动化测试,测试人员通过编程自动化的程序也就是自动化脚本实现打开界面,操作界面的业务逻辑

五、什么是selenium

是一个开源的web自动化测试的框架,支持多种编程语言,支持跨浏览器平台进行测试

6、写出selenium 中你最熟悉的接口或者类

WebDriver InternetExplorerDriver FirefoxDriver ChromeDriver WebElement WebDriverWait  By

7、元素定位的类型有哪些

By.id()  By.name()  By.xpath()  By.classname() By.tagName()  By.cssSelector()  By.linkText()  By.partialLinkText()  By.xpath()

8、Xpath 是什么?

是web页面元素定位的一种方式,相当于元素dom中的一个路径,可以采用绝对路径和相对路径的方式进行定位,对于定位页面元素有很大的帮助,同时需谨慎使用,当页面结果发生变化,那么定位信息也可能需要变化

9、findElement()和findElements()方法有什么区别

两个都是查找元素的方式

findElement()查找一个页面元素,只会返回WebElement对象

findElements()查找页面是所有符合匹配的元素,返回元素集合

10、登录按钮除了click方法还有其他方式吗?

submit() ,前提是input元素的type 为submit

11、简述你知道的延迟等待方式

硬性等待,也叫线程等待,通过休眠的方式完成等待如等待5秒Thead.sleep(5000)

隐式等待,通过imlicitlyWait完成延时等待,这种事针对全局设置的等待,如设置超市10秒,使用imlicitlyWait后,如果第一次没有找到元素,会在10秒之内不断循环查找元素,如果超时间10秒还没有找到,则抛出异常

显式等待,智能等待,针对指定元素定位指定等待时间,指定的范围内进行元素查找,找到元素则直接返回,超时没有找到元素则抛出异常

12 、如何提高selenium脚本的执行速度

1、优化等待时间,使用WebDriverWait智能等待代替 线性等待sleep和隐式等待imlicitlyWait

2、减少不必要的操作

3、在服务器允许的情况下,使用多线程实现并发执行测试用例

13 、怎么对含有验证码的功能进行自动化测试

图像识,难度大,效果不好不推荐

屏蔽验证码,邀请开发处理,在测试环境,预发和正式环境恢复

万能验证码,使用复杂的其他人无法猜到的验证码

14、如何验证复选按钮是不是被选中

可以使用元素的is selected()方法,如果返回的是true则说明被选中,否则表明未被选中

15、如何处理alert 弹窗?

先定位跳转到alert上,然后点击确认或取消

Alert alert = dirver.swichTo().alert();//切换到alert

alert.accept();//确定

alert.dismiss();//

16、如何用webdriver进行鼠标右键点击操作

使用Actions 类

Actions actions = new Actions(driver)

actions.moveToElement(element).perform();

actions.contextClick.perform();

17、如何使用webdriver 执行拖拽 的操作

还是使用actions类?

Actions actions = new Actions(driver)

WebElement element1 = driver.findElement(by);

WebElement element2 = driver.findElement(by);

actions.dragAndDrop(element1,element2)perform();

18、举一个WebDriver中方法重载的例子

frame(string, name), frame(int index), frame(Web Element element)

19、下拉菜单如何选择一个菜单项?

如果下拉菜单是select 标签,使用方法;select By Value() 或者selectByIndex()或者select ByVisibleText()即可

如果这个下拉菜单不是通过select标签创建,则直接通过xpath 定位元素然后去点击选择

20、自动化测试分为哪几类

UI自动化

接口自动化

web自动化

终端自动化

 

转载于:https://www.cnblogs.com/lin-yue/p/10267817.html

<think>好的,我需要处理用户关于Python自动化测试面试题的查询。首先,查看用户提供的系统级指令,确保遵循所有格式要求,比如数学表达式的使用和引用标识。用户提到想查找Python自动化测试面试题目,并且示例中展示了接口篇的问题,所以应该围绕这个主题展开。 接下来,检查用户提供的引用内容,引用[1]和引用[2]都涉及Python自动化测试的接口测试题目,比如数据回滚、接口复用、网络协议、HTTP方法等。需要将这些内容整合到回答中,确保每个问题后正确添加引用标识。 然后,按照用户要求的结构,首先生成相关问题,再详细回答。相关问题需要围绕Python自动化测试的不同方面,如接口测试、单元测试、持续集成等。回答部分需要分点清晰,每个问题给出简明扼要的解答,并自然地附上引用来源。 同时,注意使用中文,避免使用任何Markdown格式,代码块用三个反引号包裹。确保LaTeX语法正确,但根据用户的问题,可能数学公式较少,不过仍需留意。最后,检查所有引用是否正确对应,没有遗漏。 可能遇到的问题包括如何组织问题顺序,确保覆盖主要知识点,以及引用标识的正确应用。需要确保每个回答中的引用与提供的内容匹配,例如关于TCP三次握手的问题对应引用[2]。 最后,生成相关问题时要考虑用户可能的进一步需求,比如框架选择、性能测试等,确保全面性。完成所有内容后,再次检查格式是否符合要求,尤其是引用标识的位置和代码块的正确使用。</think>### Python自动化测试面试题集锦 #### 1. 接口测试如何实现数据回滚? 在接口测试中,可通过数据库操作库(如SQLAlchemy或Peewee)编写脚本,在测试前后备份和恢复数据。例如,使用事务回滚机制或临时数据库快照来确保测试数据隔离[^1]。 ```python # 示例:使用事务回滚 from sqlalchemy import create_engine from contextlib import contextmanager engine = create_engine("sqlite:///test.db") @contextmanager def session_scope(): session = Session(bind=engine) try: yield session session.commit() except: session.rollback() raise finally: session.close() ``` #### 2. TCP和UDP的主要区别是什么? - **TCP**:面向连接,确保数据可靠传输(通过确认重传、流量控制等),适用于文件传输、网页浏览[^2]。 - **UDP**:无连接,传输效率高但可能丢包,适用于实时视频、语音通话[^2]。 #### 3. HTTP常见状态码有哪些? - $200$:请求成功 - $404$:资源未找到 - $500$:服务器内部错误 - $401$:未授权访问[^2] #### 4. 如何设计可复用的接口测试用例? - 使用参数化(如`pytest.mark.parametrize`)覆盖多场景 - 封装公共请求方法(如封装`requests`库) - 通过配置文件管理测试数据 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值