拉胡尔谢蒂

Selenium是一种用于Web应用程序自动化测试的工具。90%的公司使用Selenium进行UI自动化。这是一个流行的选择,因为Selenium可以用许多编程语言编写,包括Java,JavaScript,C#和Python。

在这篇文章中,我们将看看重要的硒问题,以帮助你在下一次工作面试中取得好成绩。

1。硒是什么?

Selenium是一种工具,它可以自动化您在web浏览器内所能做的一切。它实现了基于web的应用程序的功能自动化,并可以在所有浏览器和平台上运行。

硒WebDriver与Java -基础到高级+框架

最后更新:2021年2月

畅销书
  • 350讲座
  • 各级
4.6 (57,262)

“TOP RATED (BEST SELLER) #1 Master SELENIUM java course”-5 Million students learning worldWide with great collaboration |由Rahul Shetty.

探索课程

2。这是硒套房的组件

Selenium不仅仅是一个单一的工具或实用程序。相反,它是多个测试工具的集合,称为套件。每个工具都是为满足测试和测试环境的特定标准而设计的。

套件包含以下工具集:

3.Selenium在自动化测试世界中的优势是什么?

Selenium是一个免费的开源平台,支持广泛的用户和支持社区。它遍布系统,为Windows,Linux和Mac用户提供友好。它支持Java,Python,Perl,PHP,C#和Ruby编程语言。

由于Selenium与跨浏览器测试兼容,因此它几乎适用于包括Chrome,Firefox,Edge,Internet Explorer和Safari的几乎所有常见浏览器。另一个好处是Selenium Grid允许并行执行。

4.WebDriver是什么?

WebDriver是一种简单而简洁的编程界面。作为面向对象和轻量级API,它通过接口类型参考变量驱动浏览器。

5。什么是硒4?

Selenium 4是最新版本的Selenium WebDriver,它将完全标准化W3C.由于大多数浏览器,如Chrome、Safari、Firefox、Internet Explorer和Edge遵循W3C标准,浏览器驱动程序将在W3C标准协议中与Selenium WebDriver交互。

6.有些值得注意的Selenium 4功能?

7.硒4中所有的相对定位器是什么?

我们有几种方法可以找到附近的(相对)元素。这些都是:

8.什么是不同的等待在硒WebDriver?

WebDriver中有三种类型:

  1. 隐式的等待:这是一个应用于WebDriver实例的等待超时。这意味着该实例的所有操作只有在等待一段时间后才会超时。
  2. 明确等待:这是一种排他超时方法,通过添加代码来延迟执行,直到出现特定的条件。它更具有可定制性,我们可以设置它以等待任何合适的情况。通常,我们使用一些预构建的预期条件来等待元素变成可点击、可见、不可见等。
  3. 流利的等待:这定义了等待特定条件的最大时间和在向“ElementNotVisibleException”抛出异常之前测试条件的频率。

9.WebDriver之间的区别是什么?findElement vs WebElement.findElement吗?

10。Selenium框架中的所有设计模式是什么?

11.页面对象模型和页面工厂的区别是什么?

12.所有支持Selenium的定位器都有哪些?

名称:与ID相同,但不是唯一的

CSS.选择器:处理元素标签和属性

XPath.:在DOM中搜索元素。可靠但缓慢

的名字:使用class name属性

TagName:使用HTML标记查找Web元素

LinkText:使用锚文本来定位Web元素

部分的链接文本:使用部分链接文本查找Web元素

13。XPath和CSS选择器之间有什么区别?

14。如何使用第n个元素访问CSS选择器?

以下是使用CSS选择器访问第n个属性的语法::nth-​​child(n)

前:TR:Nth-Child(2)

15。如何在Selenium WebDriver中处理警报?

WebDriver提供了一个API来处理警告对话框。警报不能检查,如果屏幕上没有警报,你会得到' NoAlertPresentException '

Alert接口包含许多api来执行不同的操作,包括:

16.什么是例外在硒WebDriver?

17.如何克服硒中的StaleElementReferenceException ?

因为对元素的引用现在已经过时,该元素将不再出现在页面的DOM中。换句话说,使用finelement方法定位的元素消失了。

要解决这个问题,请在操作中添加异常处理。如果异常过时,在500毫秒的短暂等待之后找到元素,并重复这些操作,直到操作或max迭代成功。

18.什么是框架?有哪些类型的框架可用?

框架是系统化解决问题的规则和最佳实践的宪章。

有不同种类的自动化框架:

19.如何处理基于Windows的警报或Selenium的弹出窗口?

Selenium只支持Web应用程序,并不提供自动化基于Windows的应用程序的方法。但是,以下方法可以提供帮助。

使用基于java的Robot类实用程序来模拟键盘和鼠标动作。KeyPress和KeyRelease方法模拟用户按下并释放键盘上的某个特定键。

20.什么是经常与selenium一起使用的testng注释?

TestNG注释将测试方法的调用优先于其他方法。下面是一些硒的使用方法:

21。什么是硒的聆听者?

侦听器是一个修改系统行为的接口,允许自定义报表和日志。

听众,webdriver侦听器和testng侦听器有两种主要类型。

22。硒的软断言和硬断言是什么?

柔软的断言:软断言在断言失败时不会抛出异常,并将继续执行下一步。

很难断言:如果断言语句失败和测试套件继续下一个@test,则立即击退断言异常。

23。什么是Java中的静态块或静态初始化器?

静态块或静态初始化器用于初始化Java中的静态字段。当我们想要在类中初始化静态字段时,我们声明静态块。加载类时,静态块一次执行一次。甚至在执行构造函数之前都执行静态块。

24。如何在Java中使用关键字This和Super ?

:此关键字只能用于构造函数。它使用本地变量初始化构造函数中的类级别变量。我们可以使用多个关键字。

超级:使用super关键字来调用父类构造函数。我们一次只能在构造函数内声明一个超级关键字。您应该始终在儿童类构造函数中编写super关键字

25。为什么main()方法是public, static, void在Java中?

26。Java中方法重载和方法重载的区别是什么?

方法重载 方法重写
方法重载发生在同一类中 方法覆盖发生在超类和子类之间
由于它仅涉及一个类,因此不涉及继承 由于在超类和子类之间发生了覆盖的方法,因此涉及继承
在过载中,返回类型无需相同 在重写中,返回类型必须相同
参数必须对重载不同 重写时参数必须相同
静态多态性是通过方法重载实现的 动态多态是通过方法覆盖实现的
在过载中,一个方法无法隐藏另一个方法 在推翻时,子类方法隐藏了超类方法

27。什么是Java中的异常?

在Java中,异常是一个对象。当程序中提出异常情况时,会创建异常。可以由JVM或我们的应用程序代码创建异常。所有异常类都定义为java.lang。换句话说,我们可以将其视为运行时错误。

28.接口和抽象类之间有什么区别?

界面:

接口只包含抽象方法

接口中方法的访问说明符必须是公有的

3)定义的变量必须是公共的,静态,最终

4) Java中的多重继承使用接口实现

5)实现接口,使用实现关键字

摘要课程:

1)抽象类可以包含抽象方法,具体方法或两者

2)除了私有变量外,抽象类中的方法可以有任何访问说明符

4)我们无法使用抽象类实现多重继承。

5)实现我们使用实现关键字的界面

29.如何解释Java中的“try”和“catch”关键字?

在尝试块中,我们定义了导致代码的所有异常。在Java中,尝试并捕获一个单位。Catch块捕获前一试块抛出的异常。Catch Block无法通过另一个尝试块捕获异常。

如果程序中没有引起异常的代码,或者代码中没有引发异常,Java虚拟机将忽略try catch块。

语法:尝试{//代码} catch(例外e){}

30.Java中finally块的重要性是什么?

finally块用于清理诸如关闭连接和套接字等资源。如果try块没有异常执行,则在try块之后调用finally,而不执行catch块。

如果在TRY块中抛出异常,则最终阻止在CATCH块之后立即执行。如果抛出异常,即使没有Catch块处理异常,也会执行最终块。

页面上次更新:2020年12月

顶级课程硒WebDriver

硒WebDriver与Java -基础到高级+框架
拉胡尔谢蒂
4.6 (57213)
畅销书
Selenium Webdriver与Java - 新手到忍者+采访
让我们kode,让我们kode
4.5 (8485)
Selenium webdriver与Java为初学者
Dmitry Shyshkin.
4.7 (3,863)
评价最高
Selenium Java:初级到高级[Live Project]
阿伦Motoori
4.5 (224)
使用Python和Selenium实现优雅的浏览器自动化
布兰登布莱尔
4.6 (1,153)
Selenium webdriver masterclass与c#
Nikolay Advolodkin.
4.3 (8,337)
畅销书
Selenium webdriver - Java,黄瓜BDD等。全程!
詹尼·布鲁诺
4.4 (1,297)
从划痕的刮擦和硒网webdriver的python
Admas Kinfu.
4.6 (1127)
评价最高

更多硒网wwwdriver课程

硒WebDriver学生也学习

让你的团队。领导行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求一个演示

拉胡尔·谢蒂(Rahul Shetty)的课程

自动化测试仪核心Java +访谈程序
拉胡尔谢蒂
4.5 (1220)
硒WebDriver与Java -基础到高级+框架
拉胡尔谢蒂
4.6 (57213)
畅销书
框架设计的硒设计模式/最佳实践
拉胡尔谢蒂
4.7 (183)
评价最高
Azure Devops测试人员的基本面-CI / CD +项目板
拉胡尔谢蒂
4.5 (399)
畅销书
Devops基础- CI/CD与AWS +Docker+Ansible+Jenkins
拉胡尔谢蒂
4.5 (1455)
畅销书
SDET/QA自动化面试工具包+ Java逻辑程序
拉胡尔谢蒂
4.6 (1,457)
Cypress -现代自动化测试从头开始+框架
拉胡尔谢蒂
4.5 (3,537)
畅销书
从Scratch +框架中学习Promfractor(角度测试)
拉胡尔谢蒂
4.5 (3,984)
畅销书
用java构建自动化框架的黄瓜在较小的代码中
拉胡尔谢蒂
4.5 (3,927)
畅销书

拉胡尔·谢蒂(Rahul Shetty)的课程