前言
下面我会把 selenium 依赖和 appium 依赖混合起来,因为二者依赖包之间本身就已经具备了一些类的相互继承关系,下面我会通过 uml 类图的形式非常清晰的展现
涉及 driver 的类的继承关系
下面这张图不够全面,但是足以把最常用最重要的和 driver 有关的类和接口囊入其中
我们能从上图中得到哪些信息呢?
最上面的接口在往上无继承,WebDriver 是一个接口,我们平常使用WebDriver driver = new ChromeDriver()实际就是一个多态的体现,RemoteWebDriver 是一个实现类,这时我们能想到平常使用 selenium-grid 就要使用 new 一个 Remote 的驱动了,这是因为它本身是一个实现类提供了相应的构造器。我们还可以发现手机的驱动都是会一直继承到 WebDriver 的。并且我们去看源码会发现,手机端从 MobileDriver 开始就需要在创建时候指明泛型,该泛型需要继承 WebElement,WebDriver 还没要求要用泛型,可以发现 MobileDriver 中有不同的 findElement 方法,返回的就是该泛型类型。

本文详细探讨了selenium和appium在自动化测试开发中的类继承关系,特别是driver相关类的继承结构,并通过UML类图进行展示,强调了WebDriver接口的重要性以及MobileDriver在创建时的泛型需求。同时,还提到了其他常见类如JavascriptExecutor和WebElement的继承层次。
订阅专栏 解锁全文
858

被折叠的 条评论
为什么被折叠?



