selenium python grid
学习自动化一直都是在本机操作,感觉这样能够减少工作量确实很少。最近研究了一下分布式操作。
开始的想法是,我在一台机器上启动脚本,然后让脚本在不同机器的不同版本的浏览器上进行跑脚本。
需要准备的东西:
1、jdk,以及环境变量配置好。在cmd下运行javac如果没有报错就行。
2、python开发环境。
3、selenium 安装好
4、下载 selenium-server-standalone-2.45.0.jar的包。这个版本自己看,我用的是这个版本,主要是用46的报错
一切准备好了,我用的三台机器。60机器作为我跑脚本的机器,89、162都是平台。
第一、(我按照网上说的方法貌似有的失败。)最后我是在60这台机器上将在命令行cmd窗口切换到我jar包所在文件夹,然后执行命令:java -jar selenium-server-standalone-2.45.0.jar -role hub (java -jar selenium-server-standalone-2.45.0.jar -port 4000 -role hub -nodeTimeout 600) 他默认起的是4444端口,这个可以自己定义的,这里是启动中心节点,我认为就是在哪台机器作为跑脚本的机器。
  第二、启动node:同样cmd切换到jar包目录。java -jar selenium-server-standalone-2.45.0.jar -10.2.4.60 -port 4002 -role webdriver -hub  http://10.2.4.60:4000/grid/register -browser browserName=firefox,platform=WINDOWS  这个指定了执行的浏览器以及平台的。可以不要-browser后面的。(在启动中心节点的时候启动了selenium server的)
http://10.2.4.60:4000/grid/register -browser browserName=firefox,platform=WINDOWS  这个指定了执行的浏览器以及平台的。可以不要-browser后面的。(在启动中心节点的时候启动了selenium server的)
第三部、在中心节点机器的浏览器中输入http://localhost:4000/grid/console 查看链接的信息,如果有node机器信息那么就正确了
第四部、联调,看在中心节点执行脚本能否在node机器上运行,我一直在这里纠结了很久都不行,直接贴事例代码:
__author__ = 'pc'
from selenium.webdriver import Remote
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
list =['http://10.2.4.89:4002/wd/hub','http://10.2.4.162:4001/wd/hub']
for host in list:
driver = Remote(command_executor=host,
desired_capabilities=DesiredCapabilities.FIREFOX)
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('selenium python')
driver.find_element_by_id('su').click()
driver.quit()
我纠结了很久才调通的,还有很多需要扩展的地方,但是觉得只要调试通了一切都好说了。
selenium python grid的更多相关文章
- python爬虫积累(一)--------selenium+python+PhantomJS的使用(转)
		阅读目录 一.Selenium介绍 二.爬虫为什么要用selenium? 三.PhantomJS介绍 四.PhantomJS安装 五.操作实战 六.在此推荐虫师博客的学习资料 selenium + p ... 
- python爬虫积累(一)--------selenium+python+PhantomJS的使用
		最近按公司要求,爬取相关网站时,发现没有找到js包的地址,我就采用selenium来爬取信息,相关实战链接:python爬虫实战(一)--------中国作物种质信息网 一.Selenium介绍 Se ... 
- selenium + python自动化测试unittest框架学习(一)selenium原理及应用
		unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ... 
- selenium + python自动化测试环境搭建
		selenium的在python平台的搭建: 搭建平台windows 准备工具如下: --------------------------------------------------------- ... 
- Page Object Model (Selenium, Python)
		时间 2015-06-15 00:11:56 Qxf2 blog 原文 http://qxf2.com/blog/page-object-model-selenium-python/ 主题 Sel ... 
- selenium + python 多浏览器测试
		selenium + python 多浏览器测试 支持库包 在学习 Python + Selenium 正篇之前,先来看下对多浏览器模拟的支持.目前selenium包中已包含webdriver,hel ... 
- selenium + python 自动化测试环境搭建
		selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ... 
- <译>Selenium Python Bindings 5 - Waits
		如今,大多数的Web应用程序使用AJAX技术.当页面加载到浏览器,页面中的元素也许在不同的时间间隔内加载.这使得元素很难定位,如果在DOM中的元素没有呈现,它将抛出ElementNotVisibleE ... 
- <译>Selenium Python Bindings 2 - Getting Started
		Simple Usage如果你已经安装了Selenium Python,你可以通过Python这样使用: #coding=gbk ''' Created on 2014年5月6日 @author: u ... 
随机推荐
- 201521123084 《Java程序设计》第3周学习总结
			1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点.截图或者拍照上传. 本周学习总结 ... 
- 团队作业八-Beta版本冲刺计划及安排
			Beta版本冲刺计划及安排 目录: 1.介绍小组新加入的成员,他担任的角色 2.下一阶段需要改进完善的功能 3.下一阶段新增(或修改)的功能 4.需要改进的团队分工 5.需要改进的工具流程 6.冲刺的 ... 
- 201521123075 《Java程序设计》第10周学习总结
			1. 本周学习总结 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? fin ... 
- 运用GRASP原则来做uml交互类图-------pos机实例
			重要的几个GRASP原则:1.控制器模式 2.创建者模式 (原则)3.信息专家模式(原则) 4. 高内聚 低耦合 这里所说的模式并不是java中针对具体的事件的设计模式 主成功场景的几个操作: ... 
- Python爬虫2----------运用代理访问
			为request添加一个代理,及将浏览器头部信息加入,随机从ip列表中拿出一个ip进行访问 注意函数参数的形式,如request.proxyhandler(协议,地址) import urllib.r ... 
- 读Zepto源码之Touch模块
			大家都知道,因为历史原因,移动端上的点击事件会有 300ms 左右的延迟,Zepto 的 touch 模块解决的就是移动端点击延迟的问题,同时也提供了滑动的 swipe 事件. 读 Zepto 源码系 ... 
- Java实现Map集合二级联动
			Map集合可以保存键值映射关系,这非常适合本实例所需要的数据结构,所有省份信息可以保存为Map集合的键,而每个键可以保存对应的城市信息,本实例就是利用Map集合实现了省市级联选择框,当选择省份信息时, ... 
- 纳税服务系统【抽取BaseService、条件查询】
			抽取BaseService 到目前为止,我们已经写了三个模块的开发了.我们已经抽取过了BaseAction.BaseDao,我们这次来看看我们的Service接口. UserService /** * ... 
- 03标准对象-02-RegExp 正则表达式
			1.基本概念 和 定义 用一种描述性的语言来给字符串定义一个规则,你可以形象地理解正则表达式是一个"框",凡是符合大小形状条件的字符串,都算是"匹配"了. JS ... 
- Eclipse插件springsource-tool-suite在线和离线安装步骤
			springsource-tool-suite插件是一个基于Eclipse的开发环境,为开发Spring应用程序而定制.它提供了一个即用的环境来实现,调试,运行和部署Spring应用程序,包括Pivo ... 
