软件测试面试题:Selenium测试最流行框架

简介: 软件测试面试题:Selenium测试最流行框架

Selenium测试最流行框架


1、根据项目流程阶段划分软件测试:(单元测试)、(集成测试)、(系统测试)、(验收测试)


(单元测试)对程序中的单个子程序或具有独立功能的代码段进行测试的过程。


(集成测试)是在单元测试的基础上,先通过单元模块组装成系统或子系统,再进行测试。重点是检查模块之间的接口是否正确。


(系统测试)是针对整个产品系统进行的测试,验证系统是否满足需求规格的定义,以及软件系统的正确性和性能等是否满足其需求规格的要求。


(验收测试)是部署软件之前的最后一个测试阶段。验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求。


2、(白盒测试)与(黑盒测试),主要是根据软件测试工作中对软件代码的可见程度进行的划分。

3、性能测试是通过自动化的测试工具模拟多种(正常)、(峰值)以及(异常负载条件)来对系统的各项性能指标进行测试。软件的性能包括很多方面,主要有(时间性能)和(空间性能)两种。


5、TestNG数据提供者使用( @DataProvider )注解来实现,返回类型是( Object[][] )。


6、Selenium使用(@FindBy )注解获取页面元素


7、Selenium通过( isSelected() )方法验证一个复选按钮是不是被选中或者未被选中


8、Selenium元素定位类型包含如下8种,它们都位于By类中并且都是静态方法。它们分别是:By.id(),By.name(), By.className(),By.linkText(),By.partialLinkText(),( )、( )( )


By.id(), By.name(), By.tagName(), By.className(), By.linkText(), By.partialLinkText(), By.xpath, By.cssSelector().


9、Selenium组件有Selenium-RC、( Selenium WebDriver )、( Selenium IDE )、(Selenium Grid )。


10、Log4j优先级从高到低分别是:( )、ERROR、WARN、INFO、DEBUG, TRACE

由低到高


TRACE,DEBUG,INFO,WARN,ERROR,FATAL ALL OFF


12、findElements(arg0)返回的类型是( List WebElement)。findElement()返回的类型是(WebElement)


14、需要使用( JavaScript)语句调用HTML5对象提供的内部变量和函数来实现各类操作。


15、自动化框架常见的模式:( 数据驱动框架 )、( 关键字驱动框架 )、( 行为驱动框架 )、混合型测试框架


16、TestNG基于J2SE5.0的( 注解 )特性的而构建的轻量级的单元测试框架结构。


17、模拟键盘鼠标事件需要哪个类?( Actions )( Keys )


18、如何去定位属性动态变化的元素?( xpath的contains函数 )


19、TestNG允许指定依赖关系的两种实现方式:(在@Test注释中使用属性dependsOnMethods),(在@Test注释中使用属性dependsOnGroups)


20、TestNG可以通过两种不同的方式将参数直接传递给测试方法:(使用testng.xml)、(使用数据提供者)


21、在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过(switchTo().frame())方法将当前定位的主体切换为frame/iframe表单的内嵌页面中。


如果完成了在当前表单上的操作,则可以通过(switchTo().defaultContent())方法跳出表单。


21、在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switchTo().window()方法可以实现在不同的窗口之间切换


22、ITestResult是TestNG提供的一个接口,结合@AfterMethod,可以监听@Test方法的执行状态等信息


23、TestNG中,如果要在测试方法执行成功、失败或者跳过时指定不同后续行为,可以利用ITestListener 监听器。也可以直接继承TestListenerAdapter类来实现。


24、TestNG的用例组织结构:Test Suite由一个或者多个Test组成,Test由一个或多个测试class组成,一个测试class由一个或多个测试方法组成


25、在testng.xml中(parallel)属性,可以并行地执行测试方法


26、继承LoadableComponent类可以在页面加载的时候判断是否加载了正确的页面,只需要重写load() 和isLoaded()两个方法。此方式有助于让页面对象的页面访问操作更加健壮。


27、在分布式测试模式中,只能有一台作为Hub计算机,Hub负责管理测试脚本,并负责发送脚本给其他的Node,Node节点会打开本地的浏览器完成测试任务并返回结果给Hub


28、python中在线安装Selenium的命令(pip install selenium),查看Selenium是否安装(pip show selenium),离线安装,单击 .tar.gz结尾的文件,并且对文件进行解压,进入到解压目录中,通过python命令进行安装。进入到目录名中(python setup.py install)


.whl 文件本质上面是一个 .zip 包格式进入到目录名中(pip install selenium.whl)


29、Java十Selenium上传本地文件;只要定位上传按钮,通sendKeys()添加本地文件路径就可以了。


30、unittest.main()使用TestLoader类搜索所有包含在该模块以test命名开头的测试方法,并自动执行它们,执行方法的默认顺序是:根据ASCII码的顺序加载测试用例


31、HTMLTestRunner是Python的标准库unittest单元测试框架的一个扩展,用于生成HTML测试报告。


32、在python中,xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入


33、HTMLTestRunner是Python的标准库unittest单元测试框架的一个扩展,用于生成HTML测试报告。


34、Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件


相关文章
|
7小时前
|
Web App开发 缓存 前端开发
《手把手教你》系列技巧篇(四十四)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-下篇(详解教程)
【5月更文挑战第8天】这篇文档介绍了如何在IE、Chrome和Firefox浏览器中处理不信任证书的问题。作者北京-宏哥分享了如何通过编程方式跳过浏览器的证书警告,直接访问不受信任的HTTPS网站。文章分为几个部分,首先简要介绍了问题背景,然后详细讲解了在Chrome浏览器中的两种方法,包括代码设计和运行效果,并给出了其他浏览器的相关信息和参考资料。最后,作者总结了处理此类问题的一些通用技巧。
16 2
|
7小时前
|
Web App开发 设计模式 测试技术
python自动化测试实战 —— 自动化测试框架的实例
python自动化测试实战 —— 自动化测试框架的实例
8 0
|
7小时前
|
监控 数据可视化 IDE
python自动化测试实战 —— 单元测试框架
python自动化测试实战 —— 单元测试框架
9 2
|
8小时前
|
Java 测试技术 数据库连接
【如何学习Python自动化测试】—— Python 的 unittest 框架
【如何学习Python自动化测试】—— Python 的 unittest 框架
4 0
|
7小时前
|
Web App开发 JavaScript 前端开发
《手把手教你》系列技巧篇(四十三)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-上篇(详解教程)
【5月更文挑战第7天】本文介绍了如何在Java+Selenium自动化测试中处理浏览器对不信任证书的处理方法,特别是针对IE、Chrome和Firefox浏览器。在某些情况下,访问HTTPS网站时会遇到证书不可信的警告,但可以通过编程方式跳过这些警告。
13 1
|
7小时前
|
敏捷开发 开发框架 自然语言处理
深入理解软件测试中的自动化框架选择
【5月更文挑战第12天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加速市场交付的关键组成部分。选择合适的自动化测试框架对于实现有效的测试策略至关重要。本文将探讨在选择自动化测试框架时应考虑的关键因素,包括框架的可扩展性、易用性、社区支持和集成能力。通过分析比较Selenium、Appium和TestNG等流行框架的特点,本文旨在为读者提供一个清晰的指南,帮助他们根据具体的项目需求做出明智的选择。
|
7小时前
|
前端开发 Java 测试技术
《手把手教你》系列技巧篇(四十二)-java+ selenium自动化测试 - 处理iframe -下篇(详解教程)
【5月更文挑战第6天】本文介绍了如何使用Selenium处理含有iframe的网页。作者首先解释了iframe是什么,即HTML中的一个框架,用于在一个页面中嵌入另一个页面。接着,通过一个实战例子展示了在QQ邮箱登录页面中,由于输入框存在于iframe内,导致直接定位元素失败。作者提供了三种方法来处理这种情况:1)通过id或name属性切换到iframe;2)使用webElement对象切换;3)通过索引切换。最后,给出了相应的Java代码示例,并提醒读者根据iframe的实际情况选择合适的方法进行切换和元素定位。
9 0
|
8小时前
|
Java 中间件 测试技术
深入理解自动化测试框架Selenium的设计与实现
【5月更文挑战第10天】 本文旨在深度剖析自动化测试工具Selenium的核心架构与实现机制,通过对其设计理念、组件结构以及在实际软件测试中的应用进行详细解读,使读者能够全面理解Selenium在现代Web应用测试中的重要性和有效性。文章首先介绍Selenium的发展背景及其解决的问题,然后详细探讨其架构设计,包括各种驱动和API的作用,最后结合实际案例分析Selenium如何提高测试效率和准确性。
|
7小时前
|
网络协议 安全 测试技术
性能工具之emqtt-bench BenchMark 测试示例
【4月更文挑战第19天】在前面两篇文章中介绍了emqtt-bench工具和MQTT的入门压测,本文示例 emqtt_bench 对 MQTT Broker 做 Beachmark 测试,让大家对 MQTT消息中间 BenchMark 测试有个整体了解,方便平常在压测工作查阅。
125 7
性能工具之emqtt-bench BenchMark 测试示例
|
7小时前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。