本文包含了关于Selenium WebDriver的一系列面试问题及其答案,涉及了Selenium的基本操作、高级功能以及与TestNG的集成等内容。
关于TestNG注解
@Test、@BeforeSuite、@AfterSuite、@BeforeTest、@AfterTest、@BeforeClass、@AfterClass、@BeforeMethod、@AfterMethod:这些注解用于控制测试用例的执行顺序和生命周期。
读取Excel数据
- 如何从Excel文件中读取数据?
FileInputStream fis =newFileInputStream("Excel文件路径");Workbook wb =WorkbookFactory.create(fis);Sheet s = wb.getSheet("sheetName");String value = s.getRow(rowNum).getCell(cellNum).getStringCellValue();
XPath的作用
- XPath是用来在网页上查找WebElement的。它对于识别动态Web元素非常有用。
不同类型的定位符
- Selenium支持八种类型的定位符,这些都是
By类的静态方法:By.id()、By.name()、By.tagName()、By.className()、By.linkText()、By.partialLinkText()、By.xpath、By.cssSelector。
Assert和Verify的区别
Assert:用于验证结果。如果测试用例失败,则停止执行该测试用例,并将控制权移交给其他测试用例。Verify:也用于验证结果。如果测试用例失败,则不会停止该测试用例的执行。
替代点击登录按钮的方式
- 如果登录按钮的
type属性为submit,可以使用submit()方法代替点击操作。
验证复选框/单选按钮是否被选中
- 可以使用
isSelected()方法来验证。driver.findElement(By.xpath("复选框/单选按钮的XPath")).isSelected();
处理Alert弹出窗口
- 要处理Alert弹出窗口,首先需要切换到Alert窗口,然后点击确定或取消,最后将控制权切换回主页面。
Alert alt = driver.switchTo().alert();alt.accept();// 点击确定alt.dismiss();// 点击取消driver.switchTo().defaultContent();// 切换回主页面
启动IE/Chrome浏览器
- 在启动IE或Chrome浏览器之前,需要设置系统属性。
System.setProperty("webdriver.ie.driver","IEDriverServer.exe的路径");WebDriver driver =newInternetExplorerDriver();System.setProperty("webdriver.chrome.driver","ChromeDriver.exe的路径");WebDriver driver =newChromeDriver();
执行右键点击
- 使用
Actions类来执行右键点击操作。Actions act =newActions(driver);act.moveToElement(webElement).perform();act.contextClick().perform();
执行拖拽和释放
- 使用
Actions类来执行拖拽和释放操作。Actions act =newActions(driver);WebElement source = driver.findElement(By.xpath("要拖拽的元素XPath"));WebElement target = driver.findElement(By.xpath("放置位置XPath"));act.dragAndDrop(source, target).perform();
方法重载的例子
frame(String)、frame(int)、frame(WebElement):这些是WebDriver中的方法重载例子。
文件上传
- 上传文件可以使用
sendKeys()方法。driver.findElement(By.xpath("输入字段XPath")).sendKeys("要上传文件的路径");
点击下拉菜单项
- 如果下拉菜单是由
select标签创建的,则可以使用Select类的方法selectByValue()、selectByIndex()或selectByVisibleText()来选择项目。如果不是由select标签创建的,则可以直接查找该项目的XPath并点击。
模拟浏览器前进和后退
driver.navigate().back();driver.navigate().forward();
获取当前页面URL
- 使用
driver.getCurrentUrl()方法。
隐式等待
- 可以使用隐式等待。
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
读写Excel文件
- 读取Excel文件中的数据。
FileInputStream fis =newFileInputStream("Excel文件路径");Workbook wb =WorkbookFactory.create(fis);Sheet s = wb.getSheet("sheetName");String value = s.getRow(rowNum).getCell(cellNum).getStringCellValue(); - 写入Excel文件。
s.getRow(rowNum).getCell(cellNum).setCellValue("要设置的值");FileOutputStream fos =newFileOutputStream("文件路径");wb.write(fos);
获取输入框中输入的文本
- 使用
getAttribute("value")方法。String typedText = driver.findElement(By.xpath("输入框XPath")).getAttribute("value");
WebDriver中遇到的不同异常
ElementNotVisibleException、ElementNotSelectableException、NoAlertPresentException、NoSuchAttributeException、NoSuchWindowException、TimeoutException、WebDriverException等。
清除输入框中的内容
- 使用
clear()方法。driver.findElement(By.xpath("输入框XPath")).clear();
这些面试问题和答案涵盖了Selenium WebDriver的一些基本和进阶操作,有助于准备Selenium相关的技术面试。
本文转载自: https://blog.csdn.net/TalorSwfit20111208/article/details/142071155
版权归原作者 知识的宝藏 所有, 如有侵权,请联系我们删除。
版权归原作者 知识的宝藏 所有, 如有侵权,请联系我们删除。