python selenium-9 grid模式

grid是进行分布式测试的工具,由一个hub主节点和若干个node代理节点组成

1.下载Selenium Standalone Server

下载地址:https://www.seleniumhq.org/download/

2.启动hub和节点

#hub默认端口是4444,node默认端口是5555
java -jar selenium-server-standalone-3.141.59.jar -role hub
#本机注册节点
java -jar selenium-server-standalone-3.141.59.jar -role node
#本机指定端口注册节点
java -jar selenium-server-standalone-3.141.59.jar -role node -port 5556
#远程机器注册节点
java -jar selenium-server-standalone-3.141.59.jar -role node -port 5557 -hub http://192.168.63.143:4444/grid/register


节点注册地址: http://192.168.63.143:4444/grid/register/
hub管理地址: http://192.168.63.143:4444/grid/console

3.查看后台http://192.168.63.143:4444/grid/console

4.实例1:编写自动化测试脚本

from selenium.webdriver import Remote
driver = Remote(command_executor="http://127.0.0.1:4444/wd/hub",
desired_capabilities={'platform':'ANY',
'browserName':'chrome',
'version':'',
'javascriptEnabled':True})
driver.get("http://www.baidu.com")
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys("hello")
driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
driver.quit()

修改脚本以在不同的浏览器上运行

from selenium.webdriver import Remote
from time import sleep
lists={'http://192.168.63.143:4444/wd/hub':'chrome',
'http://192.168.63.143:5555/wd/hub':'firefox'}
for host,browser in lists.items():
print(host,browser)
driver = Remote(command_executor=host,
desired_capabilities={'browserName': browser,
'platform': 'ANY',
'version':'',
'javascriptEnabled':True
}
)
driver.get("http://www.baidu.com")
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys(browser)
driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
sleep(3)
result_text = driver.find_element_by_xpath("//span[@class='nums_text']").text
assert "百度为您找到相关结果约" in result_text
driver.quit()

5.浏览器内核

浏览器最重要或者最核心的部分是Rendering Engine,即渲染引擎,习惯成为渲染引擎。所谓的浏览器内核,决定了浏览器如何显示网页的内容以及页面的格式信息。
内核 介绍
TridentIE内核 基于Mosaic代码基础上修改而来,从IE4开始开始一直沿用到IE11,是一款开放的内核,其接口内核设计成熟,国内早期浏览器都是基于该内核。如遨游,世界之窗,360安全浏览器
Gecko火狐内核 代码完全公开,可开发程度很高
Presto 欧朋内核 在欧朋7开始使用,自欧朋12.17已被废弃,开始采用谷歌的Blink内核。
Webkit Safari内核 是苹果公司自己的内核。谷歌也曾采用webkit打造Chrome浏览器。国内的浏览器也采用了这一内核,如遨游3,搜狗告诉浏览器、360极速浏览器。
Blink 谷歌和欧朋开发的浏览器排版引擎,该引擎是Webkit中WebCore组件的一个分支,并且在Chrome(28以后)、欧朋(15以后)和Yandex浏览器中使用

Grid Selenium的更多相关文章

  1. Webdriver - Selenium Grid Configuration

    Grid parameter: role = <hub|node> (default is no grid, just run an RC/webdriver server). When ...

  2. Selenium Grid Configuration

    Start Hub and Node with Json config 1. Start Hub with json config file title HubWebDriver java -jar ...

  3. Selenium Grid 运行报错 Exception thrown in Navigator.Start first time ->Error forwarding the new session Empty pool of VM for setup Capabilities

    Selenium Grid 运行报错 : Exception thrown in Navigator.Start first time ->Error forwarding the new se ...

  4. selenium grid 搭建

    hub端 Step1: 下载 selenium-server-standalone-x.xx.x.jar我下载的是:selenium-server-standalone-2.44.0.jar下载地址: ...

  5. selenium grid的使用与配置

    一.selenium grid的组成与作用:由一个集线器hub和多个客户机node组成,如果你的程序需要在不用的浏览器,不同的操作系统上测试,而且比较多的case需要多线程远程执行,那么一个比较好的测 ...

  6. Selenium 15: How to Run Parallel Tests Using Selenium Grid and JUnit

    In this post, I will give two techniques and describe how to run your selenium tests in parallel by ...

  7. Selenium Grid的原理、配置与使用(转)

    Selenium GridSelenium Grid在前面介绍Selenium的时候说过它有三大组件,Selenium Grid就是其中之一而作用就是分布式执行测试.讲分布式之前还是要说说UI自动化的 ...

  8. Selenium索引

    Common Selenium各种工具比较 Selenium firefox 版本问题 Selenium IDE Selenium IDE整理 WebDriver Java 版本 Selenium开始 ...

  9. 转:selenium 并行启动多个浏览器

    https://github.com/fool2fish/selenium-doc/blob/master/official-site/selenium-grid.md Selenium Grid 快 ...

随机推荐

  1. AJAX-XMLHttpRequest和本地文件

    网页中可以使用相对URL的能力通常意味着我们能使用本地文件系统来开发和测试HTML,并避免对Web服务器进行不必要的部署. 然而当使用XMLHttpRequest进行Ajax编程时,这通常是不行的. ...

  2. 纯web实现游记类手机端应用

    初衷 当初的一个学习框架项目,采用sui框架实现的一套手机端页面.今天清理github的时候重新整理了一下,因为设计的确实不错嘛,拿出来大家一起学习...哈哈 说明 采用sui框架 纯html/css ...

  3. 【vue】vue的路由权限管理

    前言: 最近闲来无事浏览各种博客,看到了一个关于路由权限的管理,觉得很有用,针对那个博客,准备自己写一个demo. 实现: 路由大致分为用户路由<特定用户才能浏览>和基本路由<所有用 ...

  4. Python 利用Python编写简单网络爬虫实例2

    利用Python编写简单网络爬虫实例2 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://www.51testing. ...

  5. windows域渗透实战

    测试环境 域控: 192.168.211.130 已经控制的机器: 192.168.211.133 获取网络信息 查看机器的网络信息 ipconfig /all # 查看 网卡信息,获取dns 服务器 ...

  6. svn 同步资源库时忽略某些文件类型和文件夹

    项目开发中,开发人员经常用SVN来管理代码,在和服务器同步时,每次都看到一堆.class,.log,target等文件,这样很不舒服. 解决方法: 打开:window-->preferences ...

  7. java 内存分析之方法返回值二

    package Demo; class Point { private double x, y; public Point(double x, double y) { this.x = x; this ...

  8. cmake 基本命令

    1 # CMake 最低版本号要求cmake_minimum_required (VERSION 2.8) 2 项目信息project (Demo2) 3 aux_source_directory 查 ...

  9. Fiddler基础教程

    一.Fiddler的基本介绍 Fiddler的官方网站:  www.fiddler2.com Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料. Fiddler ...

  10. 配置 tsconfig.json

    作用 指导编译器如何生成 JS 文件 参数 target: 编译目标平台(es3, es5, es2015) module: 组织代码方式(commonjs, AMD) sourceMap:编译文件对 ...