自动化测试面试题及答案大全(4)
自动化测试面试题及答案大全(4)
原创测试喵 最后发布于2019-04-18 10:00:14 阅读数 805 收藏
展开
1.当我们使用testng时,我们必须在.bat文件中写入以执行selenium项目的命令行是什么?
Ans- java -cp bin; jars / * org.testng.TestNG testng.xml
2.使用WebDriver时要导入的包是哪个?
Ans- org.openqa.selenium
3.识别某个字段的天气颜色是否不同 -
String color = driver.findElement(By.xpath("//a[text()=‘Shop’]")).getCssValue(“color”);
String backcolor = driver.findElement(By.xpath("//a[text()=‘Shop’]")).getCssValue(“background-color”);
System.out.println(color);
System.out.println(backcolor);
这里如果颜色和背面颜色不同,那么这意味着元素具有不同的颜色。
4. 如何选中复选框或单选按钮?
Ans-使用isSelected()方法进行识别。该方法的返回类型是boolean。因此,如果它返回true,则选择按钮,否则不启用。
driver.findElement(By.xpath(“xpath of button”)).isSelected();
5.如何获得页面的标题?
Ans-使用getTitle()方法。
Syntax- driver.getTitle();
6.你如何获得文本框的宽度?
driver.findElement(By.xpath(“xpath of textbox ”)).getSize().getWidth();
driver.findElement(By.xpath(“xpath of textbox ”)).getSize().getHeight();
7.你如何获得网络元素的属性?
Ans- driver.getElement(By.tagName(“img”))。getAttribute(“src”)将为您提供此标记的src属性。同样,您可以获取title,alt等属性的值。
类似地,您可以使用getCssValue(“some somepepe name”)获取任何标记的CSS属性。
8. 如何将鼠标悬停在元素上?
Actions act = new Actions(driver);
act.moveToElement(webelement); //webelement on which you want to move cursor
9. getOptions()方法有什么用?
Ans- getOptions()用于从下拉列表中获取所选选项。
10. deSelectAll()方法有什么用?
Ans-用于取消选择从下拉列表中选择的所有选项。
11. WebElement是一个接口还是一个类?
接口
12. FirefoxDriver是类还是接口,它从哪里继承?
Ans- FirefoxDriver是一个类。它实现了WebDriver接口的所有方法。
13. 哪个是webdriver的超级界面?
Ans- SearchContext。
14.在selenium自动化测试中,你一般完成什么类型的测试?
主要是冒烟测试和回归测试。回归测试主要写一些功能稳定,容易实现的场景,通过自动化手段去实现,节约测试时间。
15.你是如何管理你的测试用例并执行?
写用例和管理并执行用例,我们都需要借助单元测试框架来实现,如果是Java语言一般有junit和TestNG。例如我使用TestNG比较多,需要配置testng.xml文件来实现测试用例的执行。有时候需要配置多个testng.xml去实现不同的任务场景。再展开,可能问你一下testng框架的知识点。例如,方法依赖,用例执行优先级,数据源驱动等。
16.关于自动化测试报告生成?
我个人一般用TestNG原生的测试报告,也有第三方叫reportNG的插件,不过我没有实际使用过。
17. 了解或者使用过框架不?
类似的问题还有,你知道那些自动化测试框。
我们知道POM自动化测试框,还有关键字驱动框架。
18. 这个框架是你自己写的吗?
我自己设计过POM的框架和关键字驱动框架。
19. Selenium 特点和组成
Selenium是一个针对web应用的开源测试框架,它的测试用例可以用html table或者html 代码或者编程语言进行开发,而且他能在几乎所有的现在的浏览器上执行。Selenium可以被部署到windows.linux.mac平台上,支持的语言有java/python/ruby/.net/perl
特点:
·支持录制回放
·多种方式对页面元素进行定位并操作
·能够及进行debug和设置断点
·能够把测试脚本保存成html/ruby或者其他语言
·支持user-extensions.js形式的用户扩展
·能够进行页面的断言
Selenium IDE: 是firefox的插件,可以录制/回放/测试脚本
Selenium RC:支持程序语言(java/C#/python/ruby)编写测试用例; selenium和其他测试框架集成,比如java环境下将selenium和Junit集成,利用selenium来书写测试用例,用Junit来实现测试用例的自动化运行。
Selenium Core:是selenium的核心,是有js和html文件组成,它是selenium IDE和selenium RC的核心引擎。
Selenium Grid:是selenium的扩展,可以将一批selenium脚本分配到不同的测试机上同步运行。即selenium grid可以在不同的主机上建立主节点(hub)和分支节点(node), 可以使主节点上的测试用例在不同的分支节点上运行。对于不同的节点来说,可以搭建不同的测试环境(操作系统/浏览器)。
web Driver用到的协议
打开浏览器时:HTTP协议
client端发送http请求到远程服务器的侦听端口:the wire protocol
其中:
有线协议:指的是从点到点获取数据的方式,是应用层的协议。
HTTP协议:是用于从服务器传输超文本标记语言HTML到客户端的通信协议。是一个应用层协议,由请求/响应构成,是一个标准的客户/服务器模式。是一个无状态的协议。(无状态:对事务没有记忆能力,不会保存这次传输的信息——节约内存)
————————————————
版权声明:本文为CSDN博主「测试喵」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33299873/article/details/89372384