一.你在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如果测试用例失败,都不会停止当前的程序执行,并且所有测试步骤都将被执行到。
六.登录按钮除了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
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。