9A WebDriver – 架构及其工作方式

    学习 WebDriver 的方法很有趣,而且常常使人弯腰,所以请做好准备……在南方惊喜的土地上跋涉,我们将遇到一些奇妙,荒唐和古怪的事物。

    您将发现 Selenium WebDriver 为什么将使您的生活变得如此好-从质量保证的角度来看,以及为什么我们将其称为“统治冠军”! 为了掌握该工具并构建测试自动化框架,对我们正在处理的内容进行更深入的了解非常重要。 那么,我们还等什么呢? 现在让我们开始打好基础!

    哪种方式比图形表示更容易理解? 这就是我们的大脑喜欢记住事物的方式,这也是我们将要前进的方式。

    1. 绑定
    2. 驱动

    让我们一次讨论这一步骤。 (大字警报!绑定 – 根据维基百科,这意味着将一件事映射到另一件事。 只要记住这两个词,粘合代码即可。

    有很多高级编程语言,您可能想使用 C# ,但其他人可能更喜欢 Python。 每个人都希望利用通用的 WebDriver API 来以自己舒适的语言自动化浏览器。 这是语言级别绑定进入图片的地方。 这些就像用相应语言编写的粘合代码/包装库与 WebDriver API 进行通信。 除了 Java,C# ,Ruby,Python 绑定外,还有更多。 也很容易添加新的。

    接下来到驱动程序上。 WebDriver API 使我们可以拥有一些驱动程序,这些驱动程序知道如何驱动与之对应的特定浏览器。 我们有 Chrome 驱动程序,IE 驱动程序,Microsoft Edge 驱动程序,Firefox 驱动程序(内置)等。还有移动专用驱动程序,例如 iOS 驱动程序,Selendriod(适用于 Android 的 Selenium)等。例如,Chrome 驱动程序知道如何驱动 Chrome 浏览器执行低级活动,例如操纵 Web 元素,导航到网页,从中获取用户输入等等。

    我们在代码中提到了所需的驱动程序。 该驱动程序服务器作为可执行文件提供。 当我们运行测试时,驱动程序服务器会监听本地计算机上的端口。 它将解释从 WebDriver API 接收的命令,在实际的浏览器上执行,并将结果通过 API 返回给我们的代码。

    缩小:

    语言级别绑定(发出命令)-> WebDriver 通用有线协议(基于 HTTP 的基于 REST 的 Web 服务)-> 驱动程序服务器(解释 HTTP 请求并以 HTTP 响应来响应消息 )

    如果您没有获得完整的图像,请不要惊慌。 休息片刻,因为有很多帖子可以跟进,随着我们的前进,您一定会获得清晰的了解。

    注意,在 Eclipse 中设置 WebDriver 时,您将看到实际的 Java 语言绑定。 很快我们将下载驱动程序服务器可执行文件,将它们包含在我们的代码中,并使浏览器操作也自动执行。 因此,加油并注意即将发布的帖子!

    很快见,祝您有美好的一天。