python 2021自动化测试面试题

零基础转行测试交流群631450326
零基础转行测试交流群631450326
零基础转行测试交流群631450326
 
 

1.什么 PO 模式,什么是 page factory?

PO 模式是 page object model 的缩写,顾名思义, 是一种设计模式,把每个页面当成一个
页面对象,页面层写定位元素方法和页面操作方法,实现脚本的 page 和真实的网站页面
Map 起来,一一对应起来。这样能测试框架更容易维护。 比如一个登陆页面,使用 PO 模
式后,会创建一个 LoginPage 的 class,该 class 会定义用户名输入框,密码输入框,登陆
按钮的 webElenent;用例层从页面层调用操作方法,写成用例,这种模式可以做到定位元
素与脚本分 离。所以这样的设计理念就是 PO 模式。 而 PageFactory 隶属 PO 模式,是
用来初始化每个 PO 模式实现的 Page Class,初始化对象库

2.等待元素加载

我们打开一个网页的时候,由于网速的原因元素还没加载完毕,此时我们需要等待元素加载
完毕才能进行接下来的操作,等待元素加载的有以下方法:
强制等待
隐性等待
显性等待

3.自动化测试有什么缺点

1、入门门槛相对功能测试来说较高,需要有一定编码基础的人才能胜任。
2、脚本维护成本高
3、自动化测试无法完全替代手工测试,只能作为质量保证的一种手段

4.元素定位不到的原因

元素属性发生变化,这种情况就会定位不到
页面嵌套,需要用 iframeid,未切换到子页面,就会定位不到
页面未加载完成,或者是需要触发 js 事件才会出现的元素,就会定位不到

5.接口测试的侧重点是什么

测试过程中确保自己接口请求地址,参数传参正确性,测试过程中关注服务器,返回 code,
msg,信息,数据库表信息更改,日志信息,特别是报错的时候需要通过日志帮助排查问题。

6.python 如何操作 mysql?

import pymysql # 打开数据库连接
db = pymysql.connect(“localhost”,“testuser”,“test123”,“learn” ) #参数分别是 mysql 地址,登录
名,密码,数据库名cursor = db.cursor() # 使用 cursor() 方法创建一个游标对象 cursor cursor.execute(“SELECT *
FROM userinfo”)# 使用 execute() 方法执行 SQL 查询 data = cursor.fetchall()# 使用 fetchall()
方法获取所有查询结果. print ( data)
db.close() # 关闭数据库连接

7.如何切换窗口

webdriver 是根据句柄来识别窗口的,句柄可以看做是窗口的唯一标识。
使用 window_handles 获取当前所有窗口的句柄,返回的是一个列表,其中最后 1 个元素
就是最后打开的窗口。python3 里用的是 switch_to.window()

8.自动化测试用例如何编写?

不管是手工还是自动化.测试用例就是一组按部就班的指令,以验证某些功能是否符合的需
求。我们可以 从以下几个角度来思考
1.测试环境
2.测试数据
3.测试业务
4.检查点/测试手段
5.测试环境的清理
其中,测试业务是我们最关心的一点.可以采取转化手工 case 和 跟进需求的方式来进行编写. 一般在初级阶段以基本业务流程为主(登录–完成一个业务–退出),逐渐增加 case 场景.

9.自动化中有哪三类等待?他们有什么特点?

1.线程等待(强制等待)如 time.sleep(2):线程强制休眠 2 秒钟,2 秒过后,再执行后续的
代 码 。 建 议 少 用 。
2.imlicitlyWait(隐式等待)会在指定的时间范围内不断的查找元素,直到找到元素或超时,
特 点 是 必 须 等 待 整 个 页 面 加 载 完 成 。
3.WebDriverWait(显式等待)通常是我们自定义的一个函数代码,这段代码用来等待某个元
素加载完 成,再继续执行后续的代码

10.你是怎么测试接口的

先了解接口的业务功能、入参出参以及接口对应的数据存储,再依据接口测试用例设计方法
完成接口测
试的设计,用例设计先业务场景再参数判断,比如参数的边界值、格式、组合等等,最后依
据测试用例
使用接口测试工具完成接口测试,并在测试过程中查看日志及数据以确保接口测试结果的正
确性

如果需要完整的面试题 加qq971090345

原文地址:https://www.cnblogs.com/LtTest/p/14661144.html