selenium server grid 使用简介

未来已来2018-09-10 09:10
作者:卢策

1、selenium grid简介

selenium grid可以同时在不同机器上测试不同浏览器,包含一个hub和至少一个nodenode会发送配置信息到hub,hub记录并跟踪每一个node的配置信息,同时hub会接受到即将被执行的测试用例及其相关信息,并通过这些信息自动选择可用的且符合浏览器与平台搭配要求的nodenode被选中后,测试用例所调用的selenium命令就会被发送到hub,hub再将这些命令发送到指定给该测试用例的node,之后由node执行测试。

2selenium grid应用

测试多浏览器的兼容性,减少测试套件运行时间

3selenium grid部署

这里使用selenium-server-standalone-2.48.2.jarhubnode都需要启动selenium-server-standalone-2.48.2.jar文件启动

1hud配置

java -jar selenium-server-standalone-2.48.2.jar -role hub -port 4446 ,默认端口为4444,如下启动成功!

输入http://xxx.xxx.xxx.xxx:4446/grid/console,如图显示

单击view config可以查看selenium grid的配置信息,默认情况单个hub支持的5个会话

也可以通过配置json文件启动

java -jar selenium-server-standalone.jar -role hub xxx.json

2node配置

目前只配置一个nodehub不在同一机子

通过如下命令可启动默认设置的nodenode会将本机操作系统所支持的浏览器信息全部注册到hub上,如下图

客户端cmd输入命令:java -jar selenium-server-standalone.jar -role node -host 10.240.134.71 -hub http://10.240.134.71:4446/grid/register

现注册一个nodehub,命令如下:

java -jar selenium-server-standalone.jar -role node -hub http://10.240.129.143:4444/grid/register

-port 5556 -browser browserName=chromeseleniumProtocol=WebDriver maxInstances=5,platform=WINDOWS


如上命令只是修改了客户端ip,如果端口被占用,也可以修改客户端端口,再node后加 -port xxx ,默认是5555

注册后服务端日志如图,成功注册了一个node,此时打开http://xxx.xxx.xxx.xxx:4446/grid/console,也会显示注册的node信息,这里就不附图了

4、执行

[java] view plain copy
1. public static void main(String[] args) throws IOException {
2. // TODO Auto-generated method stub
3. DesiredCapabilities ff =DesiredCapabilities.firefox();
4. ff.setBrowserName("firefox");
5. ff.setPlatform("WINDOWS");
6. WebDriver driver = new RemoteWebDriver(new URL(serverUrl),ff);
7. driver.get("https://passport.csdn.net/account/login");
8. System.out.println("开始");
9. WebDriver augmentedDriver = new Augmenter().augment(driver);
10. File screenshot = ((TakesScreenshot) augmentedDriver)
11. .getScreenshotAs(OutputType.FILE);
12. FileUtils.copyFile(screenshot, new File("11.png"));
13. driver.quit();
14.
15. }

运行如上代码,服务端日志如图,用例分给node 27.154.242.214:5555去执行

客户端日志,就是具体执行selenium命令的日志信息。




本文来自网易实践者社区,经作者卢策授权发布