selenium 源码通读·9 |webdriver/common/desired_capabilities.py-DesiredCapabilities 类分析
1 源码目录
2 功能描述
根据测试代码中配置的 DesiredCapabilities 参数,来决定将测试代码分发到哪台 node 上进行测试;
补充知识:我们需要了解下
selenium grid
;
3 Selenium Grid 介绍
3.1 是什么?
Selenium 套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上;
Selenium Grid 主要使用
master-slaves (or hub-nodes)
理念 ,是一个master/hub
和多个基于master/hub
注册的子节点slaves/nodes
;在 master 上基于不同的浏览器/系统运行测试用例时,master 将会分发给适当的 node 运行;
3.2 什么时候用?
同时在不同的浏览器、操作系统和机器上运行测试;
用于兼容性测试;
减少运行时间。
3.3 怎么用?
启动 Selenium Grid 的三种方式,一种直接用命令行,另一种用 JSON 配置文件,最后一种 docker 启动。
3.3.1 命令行启动
简单说下步骤,详细的请查阅其他资料,运行 hub 机器为 A,运行 node 机器为 B。
配置 Java 环境;
浏览器;
浏览器对应的 driver;
下载
selenium server
,将selenium-server-standalone-3.141.59.jar
,机器 A 和机器 B 上;机器 A 上打开命令行,进入
selenium server
目录下,运行:
浏览器输入
http://localhost:5566/grid/console
;机器 B 上打开命令行,进入
selenium server
目录下,运行:
刷新
http://localhost:5566/grid/console
;运行测试脚本,将会看到在机器 B 上打开了 Chrome 浏览器,并会运行测试用例。
3.3.2 Json 配置文件启动
创建 hub 的 Json 配置文件;
以上代码保存为
hub_config.json
文件,放在 机器 A 上和selenium server
相同的路径下;创建 nodes 的 Json 配置文件;
保存为
node_config.json
文件,放在机器 B 上和 selenium server 相同的路径下;机器 A,运行:
机器 B,运行:
3.3.3 docker 启动
安装 docker;
启动 hub:
启动 node,比如 chrome 浏览器;
访问:
http://localhost:4444/grid/console
;运行多个 node:
关闭 docker-grid 的命令:
注意,特别说明:关于 Selenium Grid 的内容参考与https://blog.csdn.net/lb245557472/article/details/91966770
4 部分源码说明
从源码看,下边均对浏览器系统等的说明:
版权声明: 本文为 InfoQ 作者【虫无涯】的原创文章。
原文链接:【http://xie.infoq.cn/article/fc6ea98277be64aad317b526a】。文章转载请联系作者。
评论