0
点赞
收藏
分享

微信扫一扫

Selenium Webdriver 3.X源码分析之核心目录结构


Selenium Webdriver 3.X源码分析之核心目录结构_大数据

> 这是Selenium3.X源码分析系列第3篇

在看Selenium 3.X核心目录结构前,我们先看一个基础的Selenium使用实例

Selenium Webdriver 3.X源码分析之核心目录结构_java_02

请注意上述代码中,匡红的导入部分,为什么可以从selenium模块导入webdriver呢?

下面看下Selenium核心代码部分的目录结构,如下图所示:

Selenium Webdriver 3.X源码分析之核心目录结构_人工智能_03

通过目录结构,我们知道了from selenium import webdriver是对外导出了webdriver这个package。

而webdriver package下的__init__.py对外导出了各种平台(浏览器)能力的支持。

这样在前面的实例中就有了如下的代码调用调用Chrome浏览器进行测试:

Selenium Webdriver 3.X源码分析之核心目录结构_java_04

所以结合两者,对于不同的浏览器调用我们可以这样如下进行了:

- 调用Firefox浏览器进行测试,关键代码片段为:

webdriver.Firefox()

- 调用Ie浏览器进行测试,关键代码片段为:

webdriver.Ie()

- 调用Edge浏览器,关键代码片段为:

webdriver.Edge()

其他浏览器类似,只需要调用对应的平台(浏览器,注意需要有对应的驱动支持,参见:Python Selenium Webdriver安装手册 其中的驱动配置章节)即可。

下面我们就webdriver目录下的文件和目录进行基本的说:

- android  android浏览器支持

- blackberry blackberry平台支持

- chrome 谷歌浏览器支持

- common webdriver通用能力

- edge 微软最新的edge浏览器支持,一般要windows10及以上平台比较好

- firefox 火狐浏览器支持

- ie 微软ie浏览器支持,注意ie和edge是两个不同的浏览器

- opera opera浏览器支持,可能很多人没见过这个,很出名的

- phantomjs 内存模式可以渲染解析js、css、html,可以快速运行

- remote webdriver核心功能模块

- safari  apple下的浏览器支持

- support webdriver一些辅助能力

- webkitgtk  一般不怎么用

- __init__.py  对外导出了webdriver的能力

总结下,这个目录结构应该是必须掌握的,了解了这些目录和文件的作用,你就会发现其实阅读selenium webdriver的源码没那么复杂,一点点来,后续的文章会一点点的深入到具体的代码细节。

Selenium Webdriver 3.X源码分析之核心目录结构_java_05

在公众号里回复一下关键字获取对应的系列文章

物联网

appium

大数据测试

RobotFramework

Python

自动驾驶

jmeter

selenium

jenkins

接口测试


举报

相关推荐

0 条评论