自动化测试面试题及答案大全(4)

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形式的用户扩展
·能够进行页面的断言

  1. Selenium IDE: 是firefox的插件,可以录制/回放/测试脚本
  2. Selenium RC:支持程序语言(java/C#/python/ruby)编写测试用例; selenium和其他测试框架集成,比如java环境下将selenium和Junit集成,利用selenium来书写测试用例,用Junit来实现测试用例的自动化运行。
  3. Selenium Core:是selenium的核心,是有js和html文件组成,它是selenium IDE和selenium RC的核心引擎。
  4. Selenium Grid:是selenium的扩展,可以将一批selenium脚本分配到不同的测试机上同步运行。即selenium grid可以在不同的主机上建立主节点(hub)和分支节点(node), 可以使主节点上的测试用例在不同的分支节点上运行。对于不同的节点来说,可以搭建不同的测试环境(操作系统/浏览器)。
  1. web Driver用到的协议
    打开浏览器时:HTTP协议
    client端发送http请求到远程服务器的侦听端口:the wire protocol
    其中:
    有线协议:指的是从点到点获取数据的方式,是应用层的协议。
    HTTP协议:是用于从服务器传输超文本标记语言HTML到客户端的通信协议。是一个应用层协议,由请求/响应构成,是一个标准的客户/服务器模式。是一个无状态的协议。(无状态:对事务没有记忆能力,不会保存这次传输的信息——节约内存)

你可能感兴趣的:(测试面试经验)