自动化测试面试题及答案大全(3)
原创测试喵 最后发布于2019-04-18 09:55:28 阅读数 1263 收藏
展开
1.你如何用Selenium测试?
Selenium+Maven+TestNG+Jekins
2.如何解决问题?
先思考,然后百度,考虑网速、电脑配置等原因,这题主要看重解决问题的能力和思维。
3.你是怎么开发测试框架的?
Selenium+Maven+TestNG+Jekins
4.做自动化测试的目的?
a.用来回归 b.用来监控系统稳定性 c.提高工作效率
5.PO模型是怎么做的?
pageObject :页面层,操作层,业务层集合成case
6.如何判断case是否通过?
断言,与预期结果比较
7.你项目中有多少case,通过率怎么样?
按实际回答,上千个,一般是70-80%左右,
8.失败截图的原理是什么?
利用监听,重写TestNG的失败方法进行截图。
9.报告哪里来,主要统计什么?
报告由测试用例执行情况,如TestNG生成,主要统计成功、失败率,截图和记录日志。
10.testNG中注解有哪些
@test @BeforeSuite @AfterSuite
@BeforeTest @AfterTest
@BeforeClass @AfterClass
@BeforeMethod @AfterMethod
11.TestNG有哪些优点
TestNG的注释非常强大和方便
TestNG允许并行测试
TestNG可以给予group方式执行测试
TestNG可以生成测试报表,并且报表展示多样化,可以在其基础上自行开发测试报告,插件以及测试监听器等
12.什么是web自动化
指的是从UI界面,也就是用户界面层面进行的自动化测试,测试人员通过编程自动化的程序也就是自动化脚本实现打开界面,操作界面的业务逻辑
13.写出selenium 中你最熟悉的接口或者类
WebDriver InternetExplorerDriver FirefoxDriver ChromeDriver WebElement WebDriverWait By
14.Xpath 是什么?
是web页面元素定位的一种方式,相当于元素dom中的一个路径,可以采用绝对路径和相对路径的方式进行定位,对于定位页面元素有很大的帮助,同时需谨慎使用,当页面结果发生变化,那么定位信息也可能需要变化
15.findElement()和findElements()方法有什么区别
两个都是查找元素的方式
findElement()查找一个页面元素,只会返回WebElement对象
findElements()查找页面是所有符合匹配的元素,返回元素集合
16.登录按钮除了click方法还有其他方式吗?
submit() ,前提是input元素的type 为submit
17.简述你知道的延迟等待方式
硬性等待,也叫线程等待,通过休眠的方式完成等待如等待5秒Thead.sleep(5000)
隐式等待,通过imlicitlyWait完成延时等待,这种事针对全局设置的等待,如设置超市10秒,使用imlicitlyWait后,如果第一次没有找到元素,会在10秒之内不断循环查找元素,如果超时间10秒还没有找到,则抛出异常
显式等待,智能等待,针对指定元素定位指定等待时间,指定的范围内进行元素查找,找到元素则直接返回,超时没有找到元素则抛出异常
18.怎么对含有验证码的功能进行自动化测试
图像识,难度大,效果不好不推荐
屏蔽验证码,邀请开发处理,在测试环境,预发和正式环境恢复
万能验证码,使用复杂的其他人无法猜到的验证码
19.如何验证复选按钮是不是被选中
可以使用元素的is selected()方法,如果返回的是true则说明被选中,否则表明未被选中
20.如何处理alert 弹窗?
先定位跳转到alert上,然后点击确认或取消
Alert alert = dirver.swichTo().alert();//切换到alert
alert.accept();//确定
alert.dismiss();//
21.如何用webdriver进行鼠标右键点击操作
使用Actions 类
Actions actions = new Actions(driver)
actions.moveToElement(element).perform();
actions.contextClick.perform();
22.如何使用webdriver 执行拖拽 的操作
还是使用actions类
Actions actions = new Actions(driver)
WebElement element1 = driver.findElement(by);
WebElement element2 = driver.findElement(by);
actions.dragAndDrop(element1,element2)perform();
23.举一个WebDriver中方法重载的例子
frame(string, name), frame(int index), frame(Web Element element)
24.下拉菜单如何选择一个菜单项?
如果下拉菜单是select 标签,使用方法;select By Value() 或者selectByIndex()或者select ByVisibleText()即可
如果这个下拉菜单不是通过select标签创建,则直接通过xpath 定位元素然后去点击选择
25.你如何模拟浏览器的前后移动?
driver.navigate().back();
driver.navigate().forward();
26.你如何获得当前页面的URL?
driver.getCurrentUrl();
27.如何在WebDriver中实现同步?
我们可以使用隐式等待。
语法 - driver.manage()。timeouts()。implicitlyWait(10,TimeUnit.SECONDS);
如果执行驱动程序没有立即在页面中找到元素,它将等待10秒。此代码将自动附加到脚本的每一行。每次都不需要写。打开浏览器后只需编写一次。
28. 如何从文本框中获取打字文本?
通过将arg作为值传递来使用getAttribute(“value”)方法。
String typedText = driver.findElement(By.xpath(“xpath of box”)).getAttribute(“value”));
29. 你如何清除中文本框的内容?
使用clear()方法。
driver.findElement(By.xpath(“xpath of box”)).clear();
30.如何在webdriver中调用应用程序?
driver.get(“url”); or driver.navigate().to(“url”);
31. 如何获取页面上的帧数?
List <WebElement> framesList = driver.findElements(By.xpath("//iframe"));
int numOfFrames = frameList.size();
————————————————