分类
文章

针对测试工程师的Selenium Webdriver面试问题

自动化技术发展非常迅速,Selenium Webdriver也是如此。之前,我们使用Selenium RC,然后使用Selenium 2.0或Webdriver。最近,我们看到了Selenium 3.0的正式发布。因此,我们也必须与趋势保持同步。因此,为了继续进行更改,我们在这篇文章中添加了Selenium Webdriver面试问题的新列表。

其中一些问题属于我们先前文章中未涵盖的领域。最近,我们团队中的大多数人都是从面试中实时分享观点的候选人中选拔出来的。我们敦促您阅读全文并做一些练习以获得最佳效果。

我们的目标是使您熟悉Selenium中自动化测试的新概念。

推荐– 最佳Selenium Webdriver Python教程

目录 关闭
1 发现最新的Selenium Webdriver面试问题。

发现最新的Selenium Webdriver面试问题。

Selenium Webdriver面试问题

问题1:Selenium WebDriver和Selenium IDE –为什么使用Web驱动程序支持的Selenium?

如果我们已有Selenium RC测试脚本,则希望避免使用Selenium RC。然后,而不是使用Web驱动程序,我们应该使用Web驱动程序支持的Selenium,在这种情况下,Selenium更为实际。

 

问题2:指出Selenium Webdriver / Selenium v2.0的基本功能是什么?

当需要改进以下操作时,我们应该使用WebDriver。

  • 处理重复出现的框架/弹出窗口,许多浏览器窗口和警报。
  • 页面导航/拖放操作。
  • 与Ajax相关的UI元素。
  • 跨浏览器测试,包括改进的浏览器功能(Selenium RC不完全支持)。

 

问题3:列出Webdriver优于Selenium RC(1.0)服务器的好处吗?
  • 如果您已经开始使用Selenium-WebDriver,那么您将不需要Selenium Server,因为它使用了完全不同的技术。
  • Selenium Server(1.0的一部分)提供Selenium RC功能。它打算通过此功能支持Selenium 1.0向后兼容。
  • Selenium Webdriver击中了本机浏览器,要求访问HTML对象,而Selenium RC通过Selenium服务器执行此操作,以将Javascript注入浏览器。

 

问题4:Selenium Webdriver支持哪些主要浏览器?

Selenium Webdriver框架提供了通用的API,可以使用不同的浏览器测试您的Web应用程序。接下来,我们列出了其中的一些。

  • Firefox驱动程序:对于Mozilla Firefox浏览器。
  • Internet Explorer驱动程序:对于Internet Explorer浏览器。
  • Chrome驱动程序:适用于Google Chrome浏览器。
  • HtmlUnit驱动程序:Java应用程序的GUI-Less(无头)浏览器。
  • Opera驱动程序:适用于Opera浏览器。

 

问题5:Selenium WebDriver – Xpath中”/”和”//”之间有什么区别?
  • 单斜杠”/” –使用单斜杠,我们可以创建具有绝对路径的XPath。
  • 双斜杠”//” –使用双斜杠,我们可以使用相对路径构建XPath,即可以将XPath设置为从文档中的任何位置开始选择。

 

推荐– 质量检查工程师的最新Selenium面试问题

 

问题6:在添加不支持Webdriver的浏览器上执行测试的功能时,Webdriver可能面临的局限性是什么?

附加功能的主要限制是”findElement”命令可能无法按预期运行。

 

问题7:Selenium WebDriver –如何检查元素在网页上是否可见?

您可能需要使用isDisplayed()方法。它返回一个布尔类型。如果返回值为true,则表示该元素可见,否则不可见。

driver.findElement(By.xpath("XPath of element")).isDisplayed();

 

问题8:Selenium Webdriver支持的五个不同例外是什么?

Selenium Webdriver中发生的五个主要例外是。

  • WebDriverException
  • NoAlertPresentException
  • NoSuchWindowException
  • NoSuchElementException
  • TimeoutException

 

问题9:Selenium WebDriver –如何处理警报弹出窗口?

要使用警报对话框,您应先执行的操作是将控件切换到警报对话框,然后按”确定”或”取消”按钮。最后,您可以将控制权移回到网页上。

示例源代码。

String webPage = driver.getWindowHandle();

Alert alt = driver.switchTo().alert(); // to move control to alert popup

alt.accept(); // to click on ok.

alt.dismiss(); // to click on cancel.

//Then shift the control back to the main web page

driver.switchTo().window(webPage);

//to switch back to main web page.

String webPage = driver.getWindowHandle();

Alert myAlert = driver.switchTo().alert();

// to switch control to the alert popup
myAlert.accept(); // to click on ok.

myAlert.dismiss(); // to click on cancel.

// Then send the control back to the main web page
driver.switchTo().window(webPage); // to switch back to the web page.

 

问题10:在帧之间切换的最佳方法是什么?

要在框架之间切换,我们可以使用以下Webdriver方法。

driver.switchTo().frame();

它可以接受以下三个参数中的任何一个。

1-一个数字:它根据其(从零开始)的索引选择一个数字。
2-数字或ID:我们可以通过其ID或名称来选择框架。
3-先前找到的WebElement:我们可以使用先前找到的WebElement选择框架。

 

必须尝试– 初学者最受欢迎的Selenium测验

 

问题11:如何使用Selenium Webdriver上传文件?

您可以使用”类型”命令在文件上传对话框的文件输入框中进行写入。然后,您可以使用JAVA中可用的”机器人”类来启动文件上传任务。

 

问题12:在Selenium WebDriver中,如何从下拉菜单中选择一项?

我们可以通过值,索引或可见文本从下拉菜单中选择一个项目。

例:

<select id="metros">
  <option value="de">Delhi</option>
  <option value="mu">Mumbai</option>
  <option value="ca">Calcutta</option>
  <option value="ch">Chennai</option>
</select>
WebElement metros = driver.findElement(By.id("metros"));
Select metro = new Select(metros);
//select by value
metro.selectByValue("de"); //this will select Delhi from the drop-down

//select by index
metro.selectByIndex(1); //this will select Mumbai

//select by visible text
metro.selectByVisibleText("Chennai") //this will select the Chennai

 

问题13:说明如何使用Selenium Webdriver在页面中查找损坏的图像?

要在页面上找到损坏的图像,可以使用Selenium Web驱动程序检索XPath并使用标记名获取页面中的所有链接。

之后,单击页面上的所有链接,然后检查目标页面标题中的404/500错误。

 

问题14:Selenium WebDriver –如何在Selenium 2.0中删除文本框的内容?
WebElement webObject = driver.findElement(By.id("ElementID"));

webObject.clear();

 

问题15:请介绍如何在Selenium Webdriver中使用恢复方案?

恢复方案通常取决于您使用的编程语言。如果您正在使用Java,则可以尝试使用异常处理来克服同样的问题。

在Selenium Webdriver Java测试中添加”Try Catch Block “。

 

问题16:是否可以在Selenium Webdriver中进行拖放?

是的,您可以使用以下代码执行拖放操作。

Actions dummyAction = new Actions(driver);
WebElement startPoint = driver.findElement(By.cssSelector("div.source")); 
WebElement endPoint = driver.findElement(By.cssSelector("div.target")); 
dummyAction.dragAndDrop(startPoint,endPoint).perform();

 

问题17:如何使用Java和Selenium Webdriver计算网页上的元素?

Selenium RC(1.0)使用”getXpathCount”方法识别编号。网页上的XPath属性。
但是,在Selenium(2.0)Webdriver中,我们可以通过以下方式实现它。

int xpathCount = webDriver.findElements(By.xpath("Valid_Xpath")).size();

 

问题18:说明网络驱动程序如何模仿双击?

您可以使用以下命令执行”双击”仿真。

Syntax-

Actions actionObject = new Actions (driver);

actionObject.doubleClick(webelement);

 

参加此测验– Selenium在线练习测试,包含30个问题

 

问题19:Selenium WebDriver –建议使用Webdriver捕获屏幕快照的方法是什么?
File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);

FileUtils.copyFile(screenshot, new File("c:screenshot.png"));

 

问题20:Selenium WebDriver –如果显示用户名和密码的任何身份验证弹出窗口,如何登录到任何站点?

通过URL传递用户名和密码。

Syntax-

http://username:password@url

e.g.- http://nihaow3:password@somesite.co.in

 

摘要–针对测试人员的Selenium Webdriver面试问题。

希望上述Selenium Webdriver面试的主要问题清单能帮助您为新的2017年面试做准备。

但是,我们的博客上还有很多其他的Selenium学习资料。它肯定会帮助您提高Selenium测试自动化技能。

NihaoW3。

发表评论

电子邮件地址不会被公开。 必填项已用*标注