2024最新Selenium面试题,建议收藏备用!
一.你在TestNG中使用了哪些注解?
-
@Test
-
@BeforeSuite
-
@AfterSuite
-
@BeforeTest
-
@AfterTest
-
@BeforeClass
-
@AfterClass
-
@BeforeMethod
-
@AfterMethod
二.如何从Excel中读取数据?
FileInputStream?fs?=?new?FileInputStream(“excel文件路径”);
Workbook?wb?=?WorkbookFactory.create(fs);
Sheet?s?=?wb.getSheet(“sheetName”);
String?value?=?s.getRow(rowNum).getCell(cellNum).getStringCellValue();
三.xpath的作用是什么?
在网页中查找元素,对于动态元素可以使用xpath
四.常用的元素定位有几种?
有8
种定位器,都是By
类的静态方法。
-
By.id()
-
By.name()
-
By.tagName()
-
By.className()
-
By.linkText()
-
By.partialLinkText()
-
By.xpath
-
By.cssSelector()
五.Assert和Verify有什么区别?
Assert
和Verify
都是用于验证结果。如果测试用例失败,那么Assert
将停止测试用例的执行,并且不再往下执行后续的测试步骤。对于Verify
如果测试用例失败,都不会停止当前的程序执行,并且所有测试步骤都将被执行到。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】
六.登录按钮除了click之外还有什么方法
使用submit()
方法,但它只能在属性type=submit
时使用。
七.如何验证复选框/单选框是否被选中?
driver.findElement(By.xpath("元素路径")).isSelected();
八.如何处理Alert?
String?mainPage?=?driver.getWindowHandle();
//?切换到alert弹窗
Alert?alt?=?driver.switchTo().alert();?
//?点击确定
alt.accept();?
//?点击取消
alt.dismiss();?
//?切换到页面
driver.switchTo().window(mainPage);?
九.如何启动Chrome浏览器
System.setProperty(“webdriver.chrome.driver”,”chromeDriver驱动文件?”);
WebDriver?driver?=?new?ChromeDriver();
十.如何使用WebDriver执行右键单击?
Actions?act?=?new?Actions(driver);?
act.moveToElement(webElement).perform();
act.contextClick().perform();
十一.如何使用WebDriver执行拖放?
Actions?act?=?new?Actions(driver);
WebElement?source?=?driver.findElement(By.xpath(“?-----”));?
WebElement?target?=?driver.findElement(By.xpath(“?-----”));?
act.dragAndDrop(source,target).perform();
十二.举例Selenium中重载的方法
//?方法一:通过?iframe的索引值,在页面中的位置
driver.switchTo().frame(index);
//?方法二:通过 iframe 的name 或者id
driver.switchTo().frame(nameOrId);
//?方法三:通过iframe 对应的webElement ???????
driver.switchTo().frame(frameElement);
十三.如何上传文件?
driver.findElement(By.xpath(“元素路径”)).sendKeys(“本地文件路径”);
十四.如何选择下拉菜单中的菜单项
如果是select
标签,我们可以使用selectByValue()
、selectByIndex()
或selectByVisibleText()
方法。如果不是select
标签,那么我们可以简单地找到该元素的xpath
并单击它来选择。
十五.如何模拟浏览器的前进/后退
//?后退
driver.navigate().back();
//?前进
driver.navigate().forward();
十六.如何获取当前页面的URL
driver.getCurrentUrl();
十七.单斜杠和双斜杠有什么区别
-
/
用于标识直接子节点 -
//
用于在整个结构中查找
十八.findElement和findElements有什么区别?
这两个方法都是WebDriver
接口的抽象方法,用于在网页中查找元素。
-
findElemen()
:用于查找一个Web
元素。它只返回一个WebElement
类型。 -
findElements()
:用于查找多个Web
元素。它返回WebElements
集合。
十九.如何向Excel中读写数据
FileInputStream?fis?=?new?FileInputStream(“Excel文件”);
Workbook?wb?=?WorkbookFactory.create(fis);
Sheet?s?=?wb.getSheet("sheetName");
//?读取Excel数据
String?value?=?s.getRow(rowNum).getCell(cellNum).getStringCellValue();?
//?向Excel中写入数据
s.getRow(rowNum).getCell(cellNum).setCellValue("value?to?be?set");?
FileOutputStream?fos?=?new?FileOutputStream(“Excel文件”);
wb.write(fos);?
二十.如何从文本框中获取输入的文本?
String?text?=?driver.findElement(By.xpath("元素路径?")).getAttribute("value"));
二十一.在使用WebDriver时,有哪些常见的异常?
-
NoSuchElementException
?- 元素未找到异常 -
ElementNotVisibleException
?- 元素不可见异常 -
ElementNotSelectableException
?- 元素不可选择异常 -
NoAlertPresentException
?- 未找到警报异常 -
NoSuchAttributeException
?- 未找到属性异常 -
NoSuchWindowException
?- 未找到窗口异常 -
TimeoutException
?- 超时异常 -
WebDriverException
?- WebDriver异常
二十二.如何清除文本框的内容?
//?使用clear()方法
driver.findElement(By.xpath("元素路径")).clear();
二十三.selenium webdriver有什么优点?
1.Selenium
支持主流浏览器如Chrome
、Firefox
、IE
、Safari
等,可以在不同浏览器上运行和测试应用。
2.支持大多数语言,如Java
,Python
,Ruby
,C#
等。
3.Selenium
提供了丰富的API
可以根据测试需求进行扩展,实现定制化的测试用例。
4.Selenium
可以很好地与Jenkins
,测试管理工具等集成,实现自动化测试的持续集成和持续交付。
二十四.什么是Selenium Grid?
Selenium-Grid
允许在不同的机器上针对不同的浏览器并行运行测试。也就是说,在不同的机器、不同的浏览器和操作系统上同时运行多个测试。本质上,Selenium-Grid
支持分布式测试执行。
二十五.如何操作页面滚动
-
https://www.cnblogs.com/mrjade/p/8378461.html
-
https://www.cnblogs.com/mrjade/p/7112247.html
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:自动化测试老司机?! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!