学习自动化一直都是在本机操作,感觉这样能够减少工作量确实很少。最近研究了一下分布式操作。

  开始的想法是,我在一台机器上启动脚本,然后让脚本在不同机器的不同版本的浏览器上进行跑脚本。

  需要准备的东西:

    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://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()

我纠结了很久才调通的,还有很多需要扩展的地方,但是觉得只要调试通了一切都好说了。

  

转载于:https://www.cnblogs.com/Mushishi_xu/p/4651956.html

selenium python grid相关推荐

  1. selenium + python自动化测试unittest框架学习(一)selenium原理及应用

    unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...

  2. selenium + python自动化测试环境搭建

    elenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: 免费,也不用再为破解QTP而大伤脑筋 小巧,对于不同的语言它只是一个包 ...

  3. [译]Selenium Python文档:一、安装

    1.1.简介 Selenium Python为使用Selenium WebDriver来编写功能/验证测试提供了一个简单的API接口.通过Selenium Python API,你可以以一种非常直观的 ...

  4. selenium python 一些操作和定位收集

    (-)滚动条操作 python中selenium操作下拉滚动条方法汇总 selenium_webdriver(python)控制浏览器滚动条 selenium+Python(select定位) Sel ...

  5. 搭建selenium + Python环境的总结:

    安装Python+Selenium 写博客是一个不错的选择,首先,是担心自己忘掉,其次,可以供大家做一个参考: 其实,这是自己第一次搭建Python环境(之前用了一周的Idle),还是比较容易的吧: ...

  6. selenium + python自动化测试unittest框架学习(五)webdriver的二次封装

    因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...

  7. selenium + python自动化测试unittest框架学习(二)

    1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...

  8. selenium python实例录制运行_WEB自动化测试工具selenium录制器使用笔记

    简介 selenium录制器是最近刚流行起来的一个WEB自动化测试工具,由多测测团队开发. Selenium录制器采用关键字驱动的理念,简化测试用例的创建和维护,可以直接运行在浏览器中,就像真正的用户 ...

  9. selenium python文档_selenium+python实现百度文库word文档抓取

    更新这个代码最近又改了一点,另外和其他一些小程序一起放在了一个jupyter notebook里,现在挂在github上面.github现在对jupyter notebook的支持非常的好,甚至可以直 ...

  10. selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)

    selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素) 参考文章: (1)selenium+python,解 ...

最新文章

  1. Redis详解和实战--云平台技术栈16
  2. mysql 连续签到天数_天天拿帮会通宝 帮会签到真给力
  3. 【 MATLAB 】eps (浮点相对精度)简介
  4. Linux rm 命令
  5. nyist -- 组队赛(一)
  6. Android开发工具之Android Studio--如何打包sdk通过arr包的方式
  7. javaweb学习总结(二十一):JavaWeb的两种开发模式
  8. Taro+react开发(74):taro架构使用
  9. 最近的日子,很惬意!
  10. 【Level 08】U07 Mixed Feelings L6 State of the Nation
  11. 混日子不是你的错,根源在这里
  12. 云监控中inode使用率监控具体作用是什么
  13. Android 数据Parcel序列化过程源码分析
  14. 720环物全景制作_拍摄360全景照片多少钱?全景图片用什么软件看?
  15. 逻辑回归系数的显著性检验(python实现)
  16. 十个3D 游戏引擎,html h5 js
  17. 郑州大学计算机课程表查询,郑州大学研究生课程表
  18. 2017微软骇客马拉松精彩大回Fun:不一样的Hacker,一Young的Cool
  19. c语言程序转python_c语言转python
  20. mysql星期几转为英文_MySQL如何获取一个指定日期所对应的的星期几(英文星期信息-dayname函数)呢?...

热门文章

  1. Android Studio1.4.x JNI开发基础-基本环境配置
  2. nginx中配置pathinfo模式示例
  3. 没事不要在for循环期间增减迭代序列的成员
  4. 最简单的DX窗口程序
  5. 特殊的网络环境下的故障处理
  6. 常见iPhone设备尺寸及分辨率(持续更新)
  7. 《算法图解》之选择排序
  8. Linux命令之lsof
  9. 大龄屌丝自学笔记--Java零基础到菜鸟--006
  10. mongo db 分享 ppt