资深和新手的100大 Selenium面试问答
Posted 软件测试君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了资深和新手的100大 Selenium面试问答相关的知识,希望对你有一定的参考价值。
下面的Java Selenium问题指南涵盖了100个最重要的Selenium自动化面试问题,包括简单的Selenium Java面试问题以及带答案的Selenium自动化测试面试问题。本文包含了面向新同学的所有Selenium基本问题,以及针对有经验的应聘者的Selenium面试问题和答案,帮助面试者做准备。
为资深和新手准备的Selenium面试问题
以下是精选的顶级Selenium问答列表:
-
什么是Selenium?Selenium是由什么组成的?
-
什么是Selenium 2.0?
-
什么是Selenium 3.0?
-
如何找到使用Selenium的元素?
-
列出Selenium支持的测试类型?
-
解释什么是Selenium中的断言,以及断言的类型是什么?
-
X-PATH的用途是什么?
-
解释一下单劈开和双劈开在XPath上的区别?
-
列出使用Selenium所面临的技术挑战?
-
键盘输入和键盘命令有什么不同?
面向应届毕业生的Selenium面试基本问题
1) 什么是Selenium,由什么组成?
Selenium是一套用于自动化Web测试的工具。它由以下几个部分组成
-
Selenium IDE(集成开发环境)它是一个录制和回放的工具,它是一个Firefox插件
-
Webdriver和RC:它提供各种语言的API,比如Java、.NET、php等。大多数浏览器都可以使用Webdriver和RC。
-
网格:在网格的帮助下,可以将测试分布在多台机器上,以便测试可以并行运行,这有助于减少在浏览器测试套件中运行所需的时间
2) 什么是Selenium2.0?
在Selenium 2.0中,Web测试工具Selenium RC和WebDriver被整合到单个工具中
什么是Selenium 2.0
3)提到什么是Selenium 3.0?
Selenium 3.0是Selenium的最新版本。它已经发布了Selenium 3.0的两个测试版,几乎没有以下变化:
以下是Selenium 3.0中添加的几个新功能
4)将如何找到使用Selenium的元素?
在Selenium中,网页中的每个对象或控件都被称为元素,在网页中查找元素有不同的方法,它们是
-
ID号
-
名字
-
标签
-
属性
-
CSS
-
链接文本
-
PartialLink文本
-
XPath等
5)可以列出Selenium支持的测试类型吗?
对于基于Web的应用程序测试,可以使用Selenium
可以支持的测试类型有
a)功能测试,了解有关功能测试的更多信息。
b)数据回归
对于发布后的持续集成验证,可以使用自动化工具
a)Jenkins
b)Hudson
c)Quick Build
d)-CruiseCont
6)解释Selenium中的断言是什么,断言的类型是什么?
断言被用作重要的验证点。它验证断言类型的状态是否为“Assert”、“Verify”和“waitFor”。
7)别提X-PATH的用途是什么?
X-PATH用于在网页中查找WebElement。它在标识动态元素时也很有用。
8)能否解释一下单、双劈开在XPath上的区别?
单曲劈开‘/’
-
单劈开(/)从单据节点开始选择
-
它允许创建‘绝对’路径表达式
双劈开‘//’
-
双劈开(//)开始选择匹配文档中的任意位置
-
它允许创建“相对”路径表达式
9)能否列出使用Selenium面临的技术挑战?
-
Selenium的技术挑战是
-
Selenium仅支持基于Web的应用程序
-
它不支持位图比较
-
对于任何报告,相关功能都必须依赖于第三方工具
-
与HP UFT等商业工具相比,没有供应商对工具的支持
-
由于Selenium中没有对象存储库的概念,使得对象的可维护性变得很困难
10)键盘输入和键入命令有什么不同?
typeKeys() 将触发javascript事件,而 .type() 不会。Type 使用JavaScript语言填充Value属性,而 .typekeys() 类似于实际的用户输入
11)VERIFY命令和ASSERT命令有什么不同?
Assert:Assert允许检查元素是否在页面上。测试换句话说,测试将在检查失败的点终止。
VERIFY:VERIFY命令将检查元素是否在页面上,如果不在,则测试将继续执行。*在验证中,即使有任何测试失败,所有命令都将保证运行。
12什么是JUnit注解?有哪些不同类型的注解是有用的?
在Java中,可以将一种特殊形式的语法元数据添加到Java源代码中,这称为注解。
-
Test
-
Before
-
After
-
Ignore
-
BeforeClass
-
AfterClass
-
RunWith
13)使用点击命令时可以使用屏幕坐标吗?
要单击元素的特定部分,需要使用clickAt命令。ClickAt命令接受元素定位器和x,y坐标作为参数-clickAt(locator,cordString)
14)Selenium有哪些优势?
-
它支持C#、PHP、Java、Perl、Phython
-
它支持不同的操作系统,如Windows、Linux和Mac OS
-
它有强大的方法来定位元素(XPath、DOM、CSS)
-
它拥有由谷歌支持的高度开发者社区
15)为什么测试人员应该选择Selenium而不是QTP?
Selenium比qtp更受欢迎,因为
-
Selenium是开放源码的,而qtp是商业工具。
-
Selenium专门用于测试基于Web的应用程序,而QTP也可用于测试客户端服务器应用程序
-
Selenium在Windows、Mac、Linux等操作系统上支持Firefox、IE、Opera、Safari等,而QTP仅限于Windows上的Internet Explorer。
-
Selenium支持许多编程语言,如Ruby、Perl、Python,而QTP仅支持VB脚本
3/5/10年经验的高级Selenium Automation测试面试问题
以下是对有经验的应聘者来说最热门的Selenium面试问题:
16)“必须在Selenium中传递的四个参数是什么?
必须在Selenium中传递的四个参数是
-
主机
-
端口号
-
浏览器
-
URL
17) setSpeed() 方法和sleep()方法有什么不同?
两者都会延迟执行的速度。
Thread.sleep()*它会在指定的时间段内停止当前(Java)线程。它只会停止一次
- 它接受整数格式的单个参数
例如:thread.sleep(2000) -它将等待2秒
- 它只在休眠时发出的命令等待一次
setSpeed()在特定的时间量内,它将为每个Selenium命令停止执行。
- 它接受整数格式的单个参数
例如:selenium.setSpeed(“2000”) -它将等待2秒
- 按照设置速度中提到的毫秒数在setSpeed延迟之后运行每个命令
如果使用的是速度较慢的Web应用程序,这个命令非常有用
18)什么是同源政策?如何避免同源政策?
“同源策略”是出于安全原因而引入的,它确保网站的内容永远不会被来自另一个网站的脚本访问。*根据该策略,浏览器中加载的任何代码只能在该网站的域内运行。
为了避免使用“同源策略”代理注入方法,在代理注入模式下,Selenium Server充当客户端配置的HTTP代理,该代理位于浏览器和被测应用程序之间,然后将AUT屏蔽在一个虚构的URL下
19)什么是浏览器的高级权限?
提升权限的目的类似于代理注入,允许网站做一些通常不允许的事情,通过使用这些浏览器模式,Selenium Core可以直接打开AUT,也可以读/写其内容,而不需要通过Selenium RC服务器传递整个AUT。
20)如何使用Selenium“提交”表单?
可以在元素上使用“submit”方法提交表单-
element.submit();
或者,也可以在构成的元素上使用单击方法
21) TestNG有哪些功能,并列出了TestNG中一些使其更有效的功能?
TestNG是一个基于JUnit和NUnit的测试框架,用于简化从单元测试到集成测试的广泛测试需求。而使其成为高效测试框架的功能是
-
支持注解
-
支持数据驱动测试
-
灵活的测试配置
-
能够重新执行失败的测试用例
22) 不提隐式等待和显式等待有什么区别?
隐式等待:为所有连续的Web元素搜索设置超时。在指定的时间量内,它将尝试查找,等待元素出现。
显式等待:它是一次性的,用于特定的搜索。
23)在整个脚本中,对于“如果没有frame id,也没有fraime name”,应该考虑哪个属性?
可以使用driver.findElements(By.xpath(“//iframe”) )…。
这将返回frame列表。
将需要切换到每一frame和搜索我们想要的定位器。
24)解释find elements()和find element()有什么不同?
findElement()
它使用给定的“定位机制”查找当前页面中的第一个元素。
findElements()使用给定的“定位机制”查找当前页面中的所有元素。
25)解释一下JUnits注解与Selenium有什么联系?
与Selenium链接的JUnits注解包括
-
@Before public void method() -每次测试前都会执行Method(),该方法可以准备测试
-
@Test public void method() -@Test标识该方法为测试方法环境
-
@After public void method() -要在使用此注解之前执行方法,测试方法必须以@BEFORE开头
26)解释什么是Datadriven框架和关键字驱动?
Datadriven框架:在这个框架中,测试数据被分离并保存在测试脚本之外,而测试用例逻辑驻留在测试脚本中。测试数据从外部文件(Excel文件)中读取并加载到变量中,变量用于输入值和验证值。
关键字驱动框架:关键字驱动框架需要开发独立于测试自动化的数据表和关键字。在关键字驱动测试中,被测应用程序的功能记录在表格中,并为每项测试提供逐步说明。
27)解释如果任何站点显示任何密码和用户名的身份验证弹出窗口,如何登录到该站点?
使用url传递用户名和密码
- 语法-http://username:password@url
28)能解释一下如何使用Selenium 2.0断言网页文本吗?
( WebElement el = driver.findElement(By.id(“ElementID”) )
//从元素获取测试并存储在文本变量中
String text = el.getText() ;
//断言预期的文本
Assert.assertEquals(“Element Text”, text) ;
29)解释一下Borland Silk和Selenium有什么不同?
30)什么是对象存储库?
对象存储库是任何UI自动化中必不可少的实体,它允许测试人员将脚本中使用的所有对象存储在一个或多个集中位置,而不是分散在测试脚本中。
31)能解释一下Selenium网格是如何工作的吗?
Selenium Grid将测试发送到集线器。这些测试被重定向到Selenium Webdriver,它启动整个测试套件,允许并行运行测试。
32)我们可以使用Selenium网格进行性能测试吗?
是。但不如LoadRunner这样的专用性能测试工具有效。
33)能否列出Webdriver相对于Selenium Server的优势?
-
如果使用Selenium-WebDriver,则不需要Selenium Server,因为它使用完全不同的技术
-
Selenium Server提供Selenium RC功能,该功能用于Selenium 1.0向后兼容
-
Selenium Web Driver使用每个浏览器的本地支持直接调用浏览器以实现自动化,而Selenium RC需要Selenium服务器将Javascript注入浏览器
34)说Selenium WebDriver或Selenium 2.0有哪些功能了?
当需要以下方面的改进支持时,应使用WebDriver
-
处理多个框架、弹出窗口、多个浏览器窗口和告警
-
页面导航和拖放
-
基于Ajax的UI元素
-
多浏览器测试,包括Selenium 1.0不能很好支持的浏览器改进功能
35)在Webdriver中,注入功能在Webdriver不支持的浏览器上执行测试时,会遇到什么限制?
注入功能的主要限制是“findElement”命令可能无法按预期工作。
36)能否解释一下如何使用Selenium Web Driver查找页面中的破损图像?
要使用Selenium Web驱动程序在页面中查找损坏的图像,执行以下操作
-
获取XPath并使用标记名获取页面中的所有链接
-
在页面中,单击每个链接
-
在目标页面标题中查找404/500
37)可以解释一下如何在web驱动程序中处理颜色吗?
要处理Web驱动程序中的颜色,可以使用
使用 getCssValue(arg0) 函数通过将‘color’字符串作为参数发送来获取颜色
38)使用web驱动程序如何存储文本框中的值?
可以使用以下命令来存储使用Web驱动程序的文本框形式的值
driver.findElement(By.id(“your Textbox”)).sendKeys(“your keyword”);
39)解释一下如何在frame之间切换?
要在Frame之间切换,WebDrivers[ driver.switchTo() .frame()]方法采用以下三个的参数之一
-
数字:它根据其(从零开始的)索引选择Frame
-
名称或ID:按名称或ID选择框架
-
先前找到的WebElement:使用其先前定位的WebElement选择框架
40) 在Selenium web驱动程序中有5个不同的异常?
在Selenium Web驱动程序中有5个不同的异常,它们是
-
WebDriverException
-
NoAlertPresentException
-
NoSuchWindowException
-
NoSuchElementException
-
TimeoutException
41) 解释一下使用WebDriver如何执行双击?
可以使用以下命令执行双击操作
*语法- Actions act = new Actions (driver); *act.doubleClick(webelement);
42) 如何使用Selenium上传文件?
可以使用type命令在上传文件的文件输入框中键入。然后,使用Java中的“Robot”类来实现文件上传。
43)哪个Web驱动程序实现最快?
htmlUnit驱动程序实现最快,HTMLUnitDriver不在浏览器上执行测试,而是在纯http求上执行,这比启动浏览器并执行测试要快得多
44)解释一下如何使用Selenium 2.0处理框架吗?
要在HTML框架上引入控件,可以使用“switchTo”框架方法-
driver.switchTo() .frame(“frameName”) ;
要指定frame,可以使用索引号
driver.switchTo() .frame(“parentFrame.4.frameName”) ;
这将在名为-“frame Name”的4个frame上带来控制 子框架名称“parentFrame”
45) getWindowhandles() 和getwindowhandle()有什么区别?
getwindowhandles() :用于获取所有打开浏览器的地址,返回类型设置为
getwindowhandle() :获取控件所在的当前浏览器地址,返回类型为字符串
46) 解释一下如何从frame切换回来?
要使用方法 defaultContent() 从frame切换回来,执行以下操作
语法- driver.switchTo() .defaultContent();
47) 列出不同类型的定位器?
不同类型的定位器有
-
By.id()
-
By.name()
-
By.tagName()
-
By.className()
-
By.linkText()
-
By.partialLinkText()
-
By.xpath
-
By.cssSelector()
48)为了将变量的值显示到输出控制台或日志中,使用的命令是什么?
-
为了显示常量字符串,可以使用命令echo<常量字符串>
-
如果要显示变量的值,可以使用诸如echo${Variable Name}这样的命令
上面使用的是PHP。如果使用的是Java,将echo替换为System.out.println
49)能否解释一下如何将恢复场景与Selenium一起使用?
恢复方案取决于使用的编程语言。如果正在使用Selenium WebDriver Java测试中的“try catch”
50)解释如何迭代测试脚本中的选项?
要遍历测试脚本中的选项,可以循环使用编程语言的功能,例如,要在文本框中键入不同的测试数据,可以使用Java中的“for”循环
//数组中的测试数据采集
string[]testData={“test1”,“test2”,“test3”};
//遍历每个测试数据
For (string s: test data) { selenium.type ( “elementLocator”, testData) ; }
51)如何在混合框架中使用TestNG制作定制的html报表?
有三种方法
-
Junit:在Ant的帮助下
-
TestNG:使用内置的default.html获取HTML报告。还有来自ANT、Selenium、TestNG组合的XST报告
-
使用我们自己的自定义报告,使用XSL JAR将XML内容转换为HTML
52)根据测试脚本,如何创建html测试报告?
创建html测试报告有三种方式
-
TestNG:正在使用内置的default.html获取HTML报告。还有来自ANT、Selenium、TestNG组合的XLST报告
-
JUnit:在Ant的帮助下
-
使用我们自己的自定义报告,使用XSL JAR将XML内容转换为HTML
53)解释一下如何在Selenium IDE中插入断点?
在Selenium IDE中插入断点
-
右键单击Selenium IDE中的命令,选择“切换断点”
-
按键盘上的“B”键,然后在Selenium IDE中选择命令
-
在Selenium IDE中可以设置多个断点
54)在Selenium IDE中解释如何调试测试?
-
从要逐步执行测试的位置插入断点
-
运行测试用例
-
在给定的断点处,执行将暂停
-
要继续下一条语句,单击蓝色按钮
-
单击“Run”(运行)按钮,一次继续执行所有命令
55)什么是Selenese, elenese有哪些类型?
Selenese是用于运行测试的Selenium命令集
有三种类型的Selenese
-
Actions:用于执行与目标元素的操作和交互
-
Assertions(断言点):用作检查点
-
Accessors(访问器)用于存储变量中的值
56)解释一下Selenium IDE的局限性是什么?
Selenium IDE的局限性
-
不存在异常处理
-
Selenium IDE仅使用HTML语言
-
使用IDE无法读取外部数据库
-
无法从.txt、.xls等外部文件读取
-
不能像IF、ELSE、SELECT语句那样执行条件语句或分支语句
57)Selenium IDE中的两种视图模式是什么?
Selenium IDE既可以作为弹出窗口打开,也可以在侧栏中打开
58)在Selenium IDE中,哪些元素定位器可用于在网页上定位元素?
在Selenium中,主要使用4个定位器
-
X-path locators
-
Css locators
-
Html id
-
Html name
59)在Selenium IDE中,如何为测试数据生成随机数和日期?
在Selenium IDE中,可以使用Java脚本生成随机数
type
css=input#s
javascript{Math.random()}
And for
type
css=input#s
javascript{new Date()}
60)如何将Selenium IDE测试从Selenese转换为另一种语言?
可以使用Selenium IDE的Format选项将测试转换为另一种编程语言
61)使用Selenium IDE可以从特定的html表格单元格获取数据吗?
可以使用“storeTable”命令
示例存储来自html表的单元格0,2的文本
storeTable
Css=#table 0.2
textFromCell
62)来解释一下是什么导致Selenium IDE测试失败?
-
当定位器已更改且Selenium IDE无法找到元素时
-
当网页上没有出现等待访问的Element Selenium IDE且操作超时时
-
当元素Selenium IDE尝试访问时,未创建
63)可以解释一下如何在Selenium IDE中调试测试吗?
从要逐步执行的位置插入断点
运行测试用例
在给定的断点处,执行将暂停
要继续执行下一步,单击蓝色按钮
要一次运行命令,单击运行按钮
64)Selenium IDE如何执行单行?
在Selenium IDE中,可以通过两种方式执行单行命令
右键单击Selenium IDE中的命令,选择“Execute this command”(执行此命令
在Selenium IDE中选择命令后,按键盘上的“X”键
65)源代码视图在Selenium IDE中以哪种格式显示脚本?
在Selenium中,IDE源代码视图以XML格式显示脚本
66)解释一下如何在Selenium IDE中插入起点?
可以通过两种方式设置Selenium IDE
-
按键盘上的“S”键,然后在Selenium IDE中选择命令
-
在Seleniun IDE中,右键单击命令并选择“Set/Clear Start Point”(设置/清除起始点)
67)如果已经编写了自己的元素定位器,将何测试它?
要测试可以使用Selenium IDE的“查找按钮”的定位器,当单击它时,将在屏幕上看到一个高亮显示的元素,前提是元素定位器是正确的,否则将显示一条错误消息
68)什么是正则表达式?如何在Selenium中使用正则表达式?
正则表达式是用于描述搜索模式的特殊文本字符串。在Selenium IDE中,正则表达式可以与关键字-regexp:一起使用,作为值的前缀,需要为期望值包括模式。
69)什么是core extension?
如果想“扩展”Selenium函数库提供的默认功能,可以创建一个Core扩展。甚至可以下载由其他Selenium爱好者创建的现成的Core扩展。
70)如何处理Selenium中的多个窗口?
可以使用命令selectWindow在窗口之间切换。此命令使用Windows的标题来标识要切换到哪个窗口。
*71)将如何验证Web元素的具体位置
可以使用verifyElementPositionLeft&verifyElementPositionTop。它分别从页面左侧和顶部对元素的位置进行像素比较
*72)如何检索警告框中的消息?
可以使用storeAlert命令,该命令将获取告警弹出消息并将其存储在变量中。
73)什么是Selenium RC(遥控器)?
Selenium IDE在浏览器支持和语言支持方面存在限制。通过使用Selenium,可以降低RC的限制。
-
在不同的平台和用于自动化Web应用程序的不同Web浏览器上,Selenium RC与Java、C#、Perl、Python等语言一起使用
-
Selenium RC是基于Java的,可以使用任何可以与Web应用程序交互的语言
-
使用服务器,可以绕过该限制并运行针对任何Web应用程序运行的自动化脚本
74)为什么要使用Selenium RC?
Selenium IDE很多功能不直接支持,比如条件语句、迭代、测试结果的记录和报告、意外错误处理等等,因为IDE只支持HTML语言,所以使用Selenium RC来处理这些问题,因为它支持Perl、Ruby、Python、PHP等语言,使用这些语言我们可以编写程序来实现IDE问题。
75)解释一下web驱动程序和RC之间的主要区别是什么?
Selenium RC和WebDriver的主要区别在于,Selenium RC在加载页面时将javascript函数注入浏览器。另一方面,Selenium Webdriver使用内置支持的浏览器驱动
76)RC有哪些优势?
RC的优势在于
-
可以从.xls、.txt等读取数据或将数据写入.xls、.txt等
-
它可以处理动态对象和基于AJAX的UI元素
-
可以使用循环和条件来获得更好的性能和灵活性
-
支持多种编程语言和操作系统
-
对于任何启用Java脚本的浏览器,都可以使用Selenium RC
77)解释什么是框架,RC中可用的框架有哪些?
库和类的集合称为Framework,当测试人员必须自动化测试用例时,它们非常有用。NUnit、JUnit、TestNG、Bromine、RSpec、unittest是RC中可用的一些框架。
78)我们如何在RC中处理弹出窗口?
为了在RC中处理弹出窗口,使用selectWindow方法选择弹出窗口,windowFocus方法让控件从当前窗口变为弹出窗口,并根据脚本执行操作
79)使用Selenium RC时有哪些技术限制?
除了来自js的“同源策略”限制外,Selenium还受到限制,不能执行浏览器之外的任何内容。
80)在没有Selenium Grid的情况下,如何使用Selenium RC在一个操作系统上驱动两个不同浏览器上的测试?
可以,当不使用Java测试框架时也是可以的。如果使用的是“parallel=test”属性,可以将测试设置为并行执行,并且可以定义两个不同的测试,每个测试使用不同的浏览器,而不是使用Java测试框架。
81)为什么要将TestNG与Selenium RC配合使用?
如果希望针对不同的服务器和客户端平台实现完全自动化,那么需要一种从命令行进程调用测试的方法,报告可以告诉发生了什么,并且可以灵活地创建测试套件。TestNG提供了这种灵活性。
82)解释一下如何捕获服务器端日志Selenium Server?
要捕获Selenium Server中的服务器端日志,可以使用命令
- java-jar.jar-log selenium.log
83)除了默认端口4444之外,如何运行Selenium Server?
可以在java-jar Selenium-server.jar-port上运行Selenium服务器,而不是在它的默认端口上
84)Selenium网格集线器是如何与RC子机保持联系的?
在预定义的时间,Selenium网格集线器会轮询所有RC从站,以确保其可用于测试。决定参数称为“remoteControlPollingIntervalSeconds”,并在“grid_configuration ation.yml”文件中定义
85)在使用Selenium的情况下,如何处理网络延迟?
要处理网络延迟,可以使用driver.manage.pageloadingtime表示网络延迟
86)要在文本框中输入值,可以使用什么命令?
要在文本框中输入值,可以使用命令 sendkeys()
87)如何使用Selenium识别对象?
要使用Selenium标识对象,可以使用
isElementPresent(String locator)
isElementPresent采用定位器作为参数,如果找到,则返回布尔值
88在Selenium中,什么是断点和起始点?
-
断点:当在代码中实现断点时,执行将立即停止。这有助于验证代码是否按预期工作。
-
起始点:Startpoint指示应该开始执行的点。当想要从代码中间或断点运行测试脚本时,可以使用Startpoint。
89)为什么在Selenium中选择Python而不是Java?
与Java相比,Python更适合与Selenium一起使用的几点是,
-
与Python程序相比,Java程序的运行速度往往较慢。
-
Java使用传统的大括号开始和结束块,而Python使用缩进。
-
JAVA使用静态类型,而Python是动态类型的。
-
与Java相比,Python更简单、更紧凑。
90)在Selenium Webdriver中处理Ajax调用的难点是什么?
在Selenium Webdriver中处理Ajax调用所面临的挑战包括
-
使用“暂停”命令处理AJAX调用并不完全可靠。取而代之的是,“waitfordition”在测试Ajax应用程序时会更有帮助。
-
很难评估与特定Ajax应用程序相关的风险
-
给予开发人员修改Ajax应用程序的完全自由使得测试过程具有挑战性
-
创建自动测试求对于测试工具来说可能很困难,因为这样的Ajax应用程序通常使用不同的编码或序列化技术来提交POST数据。
91)什么是IntelliJ?
IntelliJ是一种IDE,可以帮助为Selenium编写更好、更快的代码。IntelliJ可以用在Java bean和Eclipse的选项中。
92)可以通过哪些方式自定义TestNG报告?
可以通过两种方式自定义TestNG报告。
-
使用ITestListener接口
-
使用iReporter界面
93)要生成pdf报告,提及需要哪些Java API?
要生成pdf报告,需要Java API IText。
94)Selenium WebDriver中的监听者是什么?
在Selenium WebDriver中,监听者“监听”Selenium脚本中定义的事件并相应地进行操作。Webdriver侦听器和TestN监听器。
95)提到TestNG中的监听器类型是什么?
TestNG中的监听器类型是,
-
IAnnotationTransformer
-
IAnnotationTransformer2
-
IConfigurable
-
IConfigurationListener
-
IExecutionListener
-
IHookable
-
IInvokedMethodListener
-
IInvokedMethodListener2
-
IMethodInterceptor
-
IReporter
-
ISuiteListener
-
ITestListener
96) 就Selenium而言,什么是期望的功能?,它有什么用处?
期望的功能是存储浏览器属性(如浏览器名称、浏览器版本、浏览器驱动程序在系统中的路径等)的一系列键/值对,以确定浏览器在运行时的行为。
对于Selenium来说,
-
可以用来配置Selenium WebDriver的驱动实例。
-
当想要在具有不同操作系统和版本的不同浏览器上运行测试用例时。
97)对于Selenium Webdriver中的数据库测试,需要什么API?
对于Selenium Webdriver中的数据库测试,需要JDBC(Java Database Connectivity,Java数据库连接)API。它允许执行SQL语句。
98)何时使用AutoIT?
Selenium设计用于在不同的浏览器上自动运行基于Web的应用程序。但是处理无GUI或者非HTML的弹出窗的时候需要AutoIT。
99)在使用Selenium时为什么需要会话处理?
在使用Selenium时,需要会话处理。这是因为,在测试执行期间,Selenium WebDriver必须与之交互,因此要避免这种情况,需要进行会话处理。
100)使用Git Hub for Selenium的优势是什么?
使用Git Hub进行Selenium检测的优势在于
-
多人在处理同一项目时,可以同时更新项目详细信息并通知其他团队成员。
-
Jenkins可以帮助定期从远程存储库构建项目。这有助于跟踪失败的构建。
最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
以上是关于资深和新手的100大 Selenium面试问答的主要内容,如果未能解决你的问题,请参考以下文章