霍格沃兹测试学院软件测试 | 互联网公司测试管理与领导力提升必修

MP4的要点:
1.自我介绍和介绍
这一般是面试的第一个问题,记住每个人的简历都不一样,但是jd只有一份。所以要研究这个岗位的jd,再来定制自我介绍,去掉无关的,强调相关的,着重突出能给你加分的。所以一般都有这个套路:

先介绍自己的学校和公司,现在一般看本科和上一家公司,如果都不好,可能简历关都过不了。
a. 如果你学校让你骄傲的话,先介绍下你的学校和专业
b. 如果学校不行的话,直接介绍你工作过的公司,挑有名和相关的说
简单说说你在公司负责的项目和你的职责,不用细说,因为后面面试肯定会详细问。
说下对这个职位的了解和兴趣
注意一定要简单,到位,达意,一切都是为了这个岗位做的自我介绍。
2、介绍下你负责的公司项目
首先你要给人家介绍清楚,你这个项目的产品是什么?话不要多,比如我们的产品是直播应用,市场上竞品是什么,这里说个top 1的,然后说下特色是什么,如果知道用户数据也可以说下。
接着,讲下项目产品有几个端,服务端,客户端,安卓,ios。简单说下,如果面试者还有兴趣,你可以把技术架构说一下,这个挺难的。得好好看看自己产品。
一般到这里,面试官会问,你在项目中干嘛了。那你就要说你在项目中承担的角色,是测试总控,还是某个模块负责人。如果是总控就要说说你的测试计划和测试策略,如果负责测试模块的,就要说说是哪些模块。这些模块的作用是什么?4. 最后,说说你取得的成绩。
3、如果项目周期很短,测试人力匮乏,你是怎么协调的?
测试有压力,开发必然有压力,和开发一起砍需求
系分和测分增加投入,做更精准的测试
测试提前进入
加强开发自测,拉取开发交付用例
加班
4、描述下你团队的测试分工
业务压力大的时候,业务为主,技术为辅
业务少的时候,技术为主,业务也不丢
老人带新人,新人帮老人,选出业务领头人和技术领头人,形成团队梯队
5、使用什么测试框架做的上一个项目的自动化测试
testng

6、自己最熟悉哪个库,如何使用这些库的,是否做了基于复用的封装,怎么考虑的这些封装
分别封装了基础类例如:等待某元素出现的方法,更方便查找操作元素的方法,和被测试业务相关的类和方法

7.如何使用xpath定位一个兄弟元素,就是和该元素同属于一个父亲节点的元素
答: 先找到父亲元素,再找到自己的兄弟元素

8、自动化遇到用例fail掉如何排查故障
答:手工查应用是否真的有bug, 确认不是bug,是不是新版本引入了新的变更,调试脚本看看自己的脚本是不是因为没有等待元素出现后就操作了,是不是元素上面有其他元素出现这样操作是不是操作了其他的元素上了

9、等待元素出现的这个方法如何实现的
等待方式有三种:
1)显示等待:显示等待,就是明确的要等到某个元素的出现,等不到就一直等,除非在规定的时间之内都没找到,那么就跳出Exception,代码,element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, “myDynamicElement”))
2)隐式等待:就是在创建driver时,为浏览器对象创建一个等待时间,这个方法是得不到某个元素就等待一段时间,直到拿到某个元素位置3)线程暂停:Thread.sleep();这种等待属于死等,很容易让线程挂掉,使程序抛异常

用一个循环间隔时间去检查这个元素是否可见
自己封装的软等待类软waitElementIsEnabledBy
使用 WebDriverWait.until,20秒等待到了元素直接执行,没有就循环等待,20秒等待不到就抛出异常

public static Boolean waitElementIsEnabledBy(By by) {
try {
WebDriver waitDriver = driver;
long waitTime = 20;
waitDriver.manage().timeouts().implicitlyWait(waitTime, TimeUnit.SECONDS);
(new WebDriverWait(waitDriver, waitTime)).until(ExpectedConditions.elementToBeClickable(by));
return true;
} catch (Exception e) {
return false;
}
}

10、在selenium自动化测试中,你一般完成什么类型的测试?
用于回归测试。每次迭代都会执行一次回归

11、你什么时候不自动化测试?
① 人们不应该在以下情况下自动化
② 当受测试的应用程序频繁更改时
③ 一次测试案例
④ 临时 - 随机测试

12、你如何从Selenium连接到数据库?
Selenium是一个Web UI自动化工具。它不提供任何API来建立数据库连接。
我们需要jdbcjar包,然后使用Connection对象来连接数据库并执行sql

13、XPath中使用单斜杠和双斜杠有什么区别?
1)如果XPath是从文档节点开始,它将允许创建“绝对”路径表达式。
例如 “/ html / body / p”匹配所有的段落元素。
2)如果XPath在文档中的任意位置开始进行选择匹配,那么它将允许创建“相对”路径表达式。
例如 “// p”匹配所有的段落元素。

Selenium中可以用哪些验证点?
Selenium最主要有三种验证点 -
检查页面标题
检查某些文字
检查某些元素(文本框,下拉菜单,表、 元素是否出现 、是否可点击 、是否消失等)

14、在selenium中处理多个弹出窗口的机制是什么?
可以使用命令getWindowHandles()来处理多个弹出窗口。
然后将所有窗口名称存储到Set变量中并将其转换为数组。
接下来,通过使用数组索引,导航到特定的窗口。
driver.switchTo().window(ArrayIndex);

15、你如何处理使用Selenium的Ajax控件?
处理这样的控件,需要在文本框中输入值之后,捕获字符串中的所有建议值;然后,分割字符串,取值就好了。

16、你将如何处理Selenium WebDriver中的警报/弹出窗口?
有两种类型的警报通常被引用。
基于Windows的警报弹出窗口
基于Web的警报弹出窗口

基于Web的警报弹出窗口。
WebDriver为用户提供了一种使用Alert界面处理这些弹出窗口的非常有效的方法。
1)void dismiss() - 一旦出现弹出窗口,dismiss()方法就会点击“Cancel”按钮。
2)void accept() - 只要弹出窗口出现,accept()方法就会点击“Ok”按钮。
3)String getText() - getText()方法返回警告框中显示的文本。
4)void sendKeys(String stringToSend) - sendKeys()方法将指定的字符串模式输入到警告框中。
基于Windows的警报弹出窗口。
处理基于windows的弹出窗口总是有点棘手,因为我们知道Selenium是一个自动化测试工具,它只支持Web应用程序测试,也就是说,它不支持基于Windows的应用程序,窗口警报就是其中之一。
Robot class是基于Java的实用程序,它模拟键盘和鼠标操作,并可以有效地用于处理基于windows的弹出与键盘事件的帮助。
KeyPress和KkeyRelease方法可以分别模拟用户按下和释放键盘上某个键的操作。

猜你喜欢

转载自blog.csdn.net/weixin_52772147/article/details/112099004