自动化测试面试题
一、testNG中注解有哪些
二、TestNG有哪些优点
TestNG的注释非常强大和方便
TestNG允许并行测试
TestNG可以给予group方式执行测试
TestNG可以生成测试报表,并且报表展示多样化,可以在其基础上自行开发测试报告,插件以及测试监听器等
三、什么是断言
断言assert 用于代码中验证实际结果符合预期结果,如果测试用例失败,则抛出异常并且提供断言日志
四、什么事web自动化
指的是从UI界面,也就是用户界面层面进行的自动化测试,测试人员通过编程自动化的程序也就是自动化脚本实现打开界面,操作界面的业务逻辑
五、什么是selenium
是一个开源的web自动化测试的框架,支持多种编程语言,支持跨浏览器平台进行测试
6、写出selenium 中你最熟悉的接口或者类
WebDriver InternetExplorerDriver FirefoxDriver ChromeDriver WebElement WebDriverWait By
7、元素定位的类型有哪些
By.id() By.name() By.xpath() By.classname() By.tagName() By.cssSelector() By.linkText() By.partialLinkText() By.xpath()
8、Xpath 是什么?
是web页面元素定位的一种方式,相当于元素dom中的一个路径,可以采用绝对路径和相对路径的方式进行定位,对于定位页面元素有很大的帮助,同时需谨慎使用,当页面结果发生变化,那么定位信息也可能需要变化
9、findElement()和findElements()方法有什么区别
两个都是查找元素的方式
findElement()查找一个页面元素,只会返回WebElement对象
findElements()查找页面是所有符合匹配的元素,返回元素集合
10、登录按钮除了click方法还有其他方式吗?
submit() ,前提是input元素的type 为submit
11、简述你知道的延迟等待方式
硬性等待,也叫线程等待,通过休眠的方式完成等待如等待5秒Thead.sleep(5000)
隐式等待,通过imlicitlyWait完成延时等待,这种事针对全局设置的等待,如设置超市10秒,使用imlicitlyWait后,如果第一次没有找到元素,会在10秒之内不断循环查找元素,如果超时间10秒还没有找到,则抛出异常
显式等待,智能等待,针对指定元素定位指定等待时间,指定的范围内进行元素查找,找到元素则直接返回,超时没有找到元素则抛出异常
12 、如何提高selenium脚本的执行速度
1、优化等待时间,使用WebDriverWait智能等待代替 线性等待sleep和隐式等待imlicitlyWait
2、减少不必要的操作
3、在服务器允许的情况下,使用多线程实现并发执行测试用例
13 、怎么对含有验证码的功能进行自动化测试
图像识,难度大,效果不好不推荐
屏蔽验证码,邀请开发处理,在测试环境,预发和正式环境恢复
万能验证码,使用复杂的其他人无法猜到的验证码
14、如何验证复选按钮是不是被选中
可以使用元素的is selected()方法,如果返回的是true则说明被选中,否则表明未被选中
15、如何处理alert 弹窗?
先定位跳转到alert上,然后点击确认或取消
Alert alert = dirver.swichTo().alert();//切换到alert
alert.accept();//确定
alert.dismiss();//
16、如何用webdriver进行鼠标右键点击操作
使用Actions 类
Actions actions = new Actions(driver)
actions.moveToElement(element).perform();
actions.contextClick.perform();
17、如何使用webdriver 执行拖拽 的操作
还是使用actions类?
Actions actions = new Actions(driver)
WebElement element1 = driver.findElement(by);
WebElement element2 = driver.findElement(by);
actions.dragAndDrop(element1,element2)perform();
18、举一个WebDriver中方法重载的例子
frame(string, name), frame(int index), frame(Web Element element)
19、下拉菜单如何选择一个菜单项?
如果下拉菜单是select 标签,使用方法;select By Value() 或者selectByIndex()或者select ByVisibleText()即可
如果这个下拉菜单不是通过select标签创建,则直接通过xpath 定位元素然后去点击选择
20、自动化测试分为哪几类
UI自动化
接口自动化
web自动化
终端自动化