Selenium Grid操作使用指南
一、实现串行多浏览器执行脚本
1、启动selenium-server-standalone
java -jar selenium-server-standalone-2.44.0.jar
2、脚本代码
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import time lists = ["chrome","firefox"]
for i in lists:
print(i)
driver = webdriver.Remote(
command_executor="http://127.0.0.1:4444/wd/hub",
desired_capabilities={'platform':'ANY',
'browserName':i,
'vwesion':'',
'javascriptEnabled':True
}
)
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("hello")
driver.find_element_by_id("su").click()
time.sleep()
driver.quit()
二、实现串行多节点(分布式)执行脚本:
1、启动多节点selenium-server-standalone
主节点启动(代码所在主机)
java -jar selenium-server-standalone-2.44.0.jar -role hub
分支节点1启动(北京机房)
java -jar selenium-server-standalone-2.44.0.jar -role node -port 5555
分支节点2启动(上海机房)
java -jar selenium-server-standalone-2.44.0.jar -role node -port 5556
通过浏览器查看启动状态:http://代码所在主机/grid/console
如下显示启动成功

配置文件代码:
def getconfig():
d = {"http://192.168.109.1:5555/wd/hub":"chrome",
"http://192.168.109.1:5556/wd/hub":"firefox"}
return d
实现代码:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import time
import config for host,browser in config.getconfig().items():
print(host)
print(browser)
driver = webdriver.Remote(
command_executor="http://127.0.0.1:4444/wd/hub",
desired_capabilities={'platform':'ANY',
'browserName':browser,
'vwesion':'',
'javascriptEnabled':True
}
)
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("hello")
driver.find_element_by_id("su").click()
time.sleep()
driver.quit()
总结:
Selenium Grid并不能实现并行执行脚本,如果想并行执行需要和多线程进行结合。
Selenium Grid操作使用指南的更多相关文章
- Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试
最近一段时间,公司在推行自动化测试流程,本人有幸参与了自定义通用控件的关键字封装和脚本辅助编写.数据驱动管理.测试用例执行管理等一系列工具软件的研发工作,积累了一些经验,在此与大家做一下分享,也算是做 ...
- selenium Grid
Selenium Grid 的机制是启动一个 hub,然后启动多个 Selenium RC 注册到 hub 上, 当测试请求到 hub 时,hub 会将测试分发给 Selenium RC, Selen ...
- 配置selenium grid
本文对Selenium Grid进行了完整的介绍,从环境准备到使用Selenium Grid进行一次完整的多节点分布式测试. 运行环境为Windows 10,Selenium版本为 3.5.0,Chr ...
- selenium grid应用2-多节点执行用例
启动远程 node我们目前启动的 Hub 与 node 都是在一台主机.那么要在其它主机启动 node 必须满足以下几个要求: 1)本地 hub 主机与远程 node 主机之间可以相互 ping 通 ...
- Selenium-IDE,Selenium-RC ,Selenium grid以及 Selenium-Core
Selenium-IDE,Selenium-RC ,Selenium grid 以及 Selenium-Core Selenium 是一种 Web 应用的自动测试工具,通过模拟用户对 Web 页面的各 ...
- [Selenium] Grid 介绍
Selenium Grid 支持分布式测试,使测试人员可在分布式环境中进行测试 一般而言,在面临以下情况时可考虑使用Selenium Grid : 1.测试多个浏览器或单个浏览器多个版本,或测试不同操 ...
- 浩若烟海事半功倍|利用Docker容器技术构建自动化分布式web测试集群Selenium Grid
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_195 "世界上有那么多城市,城市里有那么多的酒馆,可她,却偏偏走进了我的-",这是电影<卡萨布拉卡> ...
- 搭建selenium grid简单配置
1.使用selenium提供的服务端独立jar包 :服务端.客户端都是运行于java7环境. 2.启动hub: hub配置文件如下: Java -jar selenium-server-standal ...
- Selenium Grid 学习笔记
Selenium Grid 学习笔记http://www.docin.com/p-765680298.html
随机推荐
- Django学习系列之Cookie、Session
Cookie和Session介绍 cookie 保存在客户端 session 保存在服务端 session依赖于cookie,比如服务端想往客户端写东西的时候就把cookie写到客户端浏览器 djan ...
- oralce之复杂查询举例
表结构: S(SNO,SNAME) 代表 学号.学生姓名: C(CNO,CNAME,CTEACHER) 代表 课号,课程名称.授课老师 SC(SNO,CNO,SCGRADE) 代表 学号.课号.课程成 ...
- JS 获取form表单的所有数据
在HTML中用js获取通过GET.POST方法(就是在网址后加?a=b&c=d之类)传过来的表单值. 针对大家常用的获取表单方式,很多时候都是在重复的写一些代码,今天给大家贴出来的代码可以作为 ...
- makefile中的一点知识
makefile文件里以下这一部分展开是什么样的呢? .. . mytarget=foo $(mytarget): $(mytarget).c gcc -o $(mytarget) $ ...
- iOS开发中訪问相冊摄像像头
iOS开发中訪问相冊摄像像头 源代码下载地址http://download.csdn.net/download/jingjingxujiayou/7270479 在AppDelegate.m文件里 - ...
- web 开发之js---js 调用视频播放
var popWindow;var videoWindow;var videoWindowF;var currentVideo=null;var currentVideoTitle="&qu ...
- Linux进程间通信 共享内存+信号量+简单样例
每个进程都有着自己独立的地址空间,比方程序之前申请了一块内存.当调用fork函数之后.父进程和子进程所使用的是不同的内存. 因此进程间的通信,不像线程间通信那么简单.可是共享内存编程接口能够让一个进程 ...
- Razor基础,视图里如何调用controller里的函数
1.单行代码书写 @代码 2.多行代码书写 @{ //@加个大括号就可以在里面写C#代码了. C#代码第一行 C#代码第二行 } 3.Razor模板引擎会自动判别代码块,但是当代码存在二义性的时候,可 ...
- Android系统优化
这些事实上就是优化rom 的一些实用小技巧. 认为非常多还是实用的. Build.prop (编辑 /system/build.prop 文件(须要root, 能够用文件管理器或者其它root exp ...
- 通过shell脚本批处理es数据
#!/bin/sh [按照指定的域名-website集合,遍历各个域名,处理url] #指定待删除的变量集合 arr=(6.0) cur="`date +%Y%m%d%H%M%S`" ...