页面自动化测试问题汇总
专业技术
在学习完Selenium的大部分接口或者方法之后,你可能会去面试自动化测 试,主要是Selenium的自动化测试。下面这些问题总结,可能会对你有所帮 助。
什么是Selenium?
Selenium是一个开源的web自动化测试框架,主要是基于 web uI的自动化 测试。现在的版本,逐步增加了对移动端的自动化测试。 浏览器平台测试。
Sele nium是否支持桌面应用软件的自动化测试。
Sele nium不支持桌面软件的自动化测试,Sele nium是根据网页元素的属性才 定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素, 当然现在也有根据桌面元素的属性来定位的
Sele nium是否支持用例的执行的引擎
引擎好比就是一个发动机。Sele nium是没有关于测试用例和测试套件管理 和执行的模块。我们需要借助第三方单元测试框架来实现用例管理和用例的执 行。例如Java中有Junit或者testNG,Python中有unittest单元测试框架。
Seleinum是否有读取excel文件的库
没有,这里需要用到第三方工具。例如 Apache P0插件 Sele nium有哪些组件
最早的有Selenium IDE,ID只支持安装在fiefox上一个插件,支持录制自动化 脚本。还有remote RC和Grid和webdriver。我们一般最重要的就是使用 webdriver。
Sele nium有什么限制或者缺陷
除了基于web的软件和mobile的程序,selenium不支持桌面软件自动化测 试。
Sele nium支持多种语
言进行开发自动化测试脚本,有 Java,python, C#, Javascript等等。Selenium支 持跨
1 / 7
软件测试报告,和用例管理只能
依赖第三方插件,例如Junit/TestNG和unittest。由于它是免费的软件,所 以没有供应商去提供支持和服务,有问题,只能求助 sele nium社区。还有一个 就是,selenium入门门槛可能有点高,需要具备一定编程语言基础的才能玩转
在selenium中,有哪些不同定位元素方法
ID/className/Name/Li nkText/PartialLi nkText/Xpath/CSS selector 什么是 imlicitlyWait
imlicitlyWait是隐式等待,一般在查找元素的时候使用。例如,我设置一个 查找元素最大时间为10秒,使用了 imlicitlyWait后,如果第一次没有找到元素, 会在10秒之内不断循环去找元素,知道超过
什么是线程等待
有时候,我们需要强制设置线程等待, Thread.sleep(2000),driver这个实例, 就是当前的线程。
你能解释下Selenium这个框架吗?
你写的测试脚本能在不同浏览器上运行吗,支持跨浏览器平台吗
10秒,报超时错误。
?
这里出现了跨浏览器平台的概念,就是写一个测试用例,可以在主流的几 个浏览器跑起来。 是的,我写的测试用例能在IE,火狐和谷歌这三种浏览器上 运行。主要是在windows平台上运行脚本,所以 mac的safari浏览器暂时没有写 过。主要实现这个跨浏览器的思想就是,把浏览器类型写到配置文件,代码里 写if语句去判断配置文件的浏览器的类型,来决定用什么浏览器去执行测试用例
关闭浏览器中quit和close的区别
两个都可以实现退出浏览器session功能,close是关闭你当前聚焦的tab页 面,而quit是关闭全部浏览器tab页面,并退出浏览器session。知道这两个区别, 我们就知道quit —般用在结束测试之前的操作,close用在执行用例过程中关闭 某一个页面的操作
2 / 7
在日历这种web表单你是如何处理的?
首先要分析当前网页试用日历插件的前端代码,看看能不能通过元素定位, 点击日期实现,如果不能,可能需要借助
javascript。还有些日历控件一个文本
输入框,可以直接sendKeys(方法来实现传入一个时间的数据。
如何处理下拉菜单?
通常我们也可以通过 Click方法来点击下拉菜单里面的元素,还有一种方法, 在Selenium中有一个类叫Select,支持这种下拉菜单交互的操作。
基本使用语法是这样的:
Select Se二new Select(eleme nt); Se.selectBy In dex(i ndex); Se.selectByvalue(value); Se.selectByVisibleText(text); 怎么验证勾选框是
enable/disabled/ checked/Unchecked/ displayed/ not displayed ?
你查找元素遇到过在 Frame里面吗?你是如何处理Frame里面元素定位的? 有时候我们知道元素定位表达式没有问题,但是还是提示
no such element,
那么我们就需要考虑这个元素是否在 frame中。如果在,我们就需要从
topwindow,通过swithcTo.Frame()方法来切换到目标frame中,可以通过frame 的name和id和索引三种方法来定位frame。
在selenium中如何处理多窗口? 这里需要用到swithTo方法。
需要获取当前浏览器多窗口句柄,然后根据判断跳转新句柄还是旧句柄 如何处理alert弹窗
3 / 7