selenium grid解决多台电脑进行并发执行测试脚本
1 两台计算机,一台计算机既做HUB,又做Node
机器A设置HUB的步骤:
1 运行---输入cmd
2 输入: cd c:/
3 输入: java -jar selenium-server-standalone-2.48.2.jar -role hub
设置node的步骤:
1 运行---输入cmd
2 输入: cd c:/
3 输入: java -jar selenium-server-standalone-2.48.2.jar -role node -port 5555 -hub http://HubIP:4444/grid/register -maxSession 15 -browser browserName="ie",version=ANY,platform=WINDOWS,maxInstances=15 -Dwebdriver.ie.driver=C:\IEDriverServer.exe
机器B设置Node的步骤:
同机器A设置node的步骤
2 testng.xml的设置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestNGSuite" parallel="classes" thread-count="2"
verbose="1">
<test name="Test2" preserve-order="true">
<parameter name="seleniumHost" value="172.16.107.74" />
<parameter name="seleniumPort" value="5555" />
<parameter name="name" value="100001" />
<parameter name="password" value="100001" />
<parameter name="seleniumHost1" value="192.168.198.128" />
<parameter name="seleniumPort1" value="5556" />
<parameter name="name1" value="100002" />
<parameter name="password1" value="100002" />
<classes>
<class name="cn.test.testScripts.TestsuijiPbgc1" />
<class name="cn.test.testScripts.TestsuijiPbgc2" />
</classes>
</test>
</suite>
3代码设置
@Parameters({ "seleniumHost", "seleniumPort" ,"name", "password" })
@BeforeClass
public void beforeMethod(String seleniumHost,String seleniumPort,String name,String password) {
DOMConfigurator.configure("log4j.xml");
//System.setProperty("webdriver.ie.driver",
// "C:\\Program Files (x86)\\Internet Explorer\\IEDriverServer.exe");
DesiredCapabilities ieCapabilities = DesiredCapabilities
.internetExplorer();
ieCapabilities
.setCapability(
InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
//ieCapabilities.setCapability(InternetExplorerDriver.FORCE_CREATE_PROCESS, true);
try {
//driver = new InternetExplorerDriver(ieCapabilities);
driver = new RemoteWebDriver(new URL("http://" + seleniumHost + ":"+seleniumPort+"/wd/hub"), ieCapabilities);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
long id = Thread.currentThread().getId();
System.out.println("这个是电脑1,After test-method. Thread id is: " + id);
Login_Action.excutepw(driver, name, password);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
selenium grid解决多台电脑进行并发执行测试脚本的更多相关文章
- Selenium执行测试脚本稳定性的一些经验分享交流
Selenium执行测试脚本稳定性的一些经验分享交流 公司的自动化WEB测试框架IATA已上线运行了一段时间,期间发现一些脚本稳定性的问题,与大家分享一下. CASE执行游览器:ie firefox ...
- 聊聊 Jmeter 如何并发执行 Python 脚本
1. 前言 大家好,我是安果! 最近有小伙伴后台给我留言,说自己用 Django 写了一个大文件上传的 Api 接口,现在想本地检验一下接口并发的稳定性,问我有没有好的方案 本篇文章以文件上传为例,聊 ...
- docker+selenium grid解决node执行经常卡死
执行用例时出现下图: 可以在启动node节点容器时添加如下红色字体的参数 docker run -d -p 5903:5900 --shm-size=512m --link selenium_hub: ...
- selenium grid中的多个线程同步执行
需求:有一个工作流,每一步审批都需要多个领导参与,才能推流程到下一步去 代码思考:多个领导在自己的线程中运行,速度有的快有的慢,如何保证下一步的领导审批时,这个步骤已经激活 如下是代码:思路为:如果这 ...
- Appium IOS 使用多模拟器并发执行测试
申明一下 转载请注明出处 复制粘贴请滚蛋 !!!!!!!! 最近在是用appium进行app的并发测试,并且Android已经实现在同一台PC机使用多个模拟器并发测试的功能 这里说一句模拟器使 ...
- 解决方法:loadrunner 场景下执行webservice脚本是---报错10492 Error: Exception was raised when calling per-process-init function in extens
在vug下执行时,脚本无异常,但是在controller下执行时报下面错误,网上查了下,解决方法千奇百怪,但无一可行. 分析了下错误,似乎是初始化进程有关.想到rts中的设置习惯时以线程方式执行. 遂 ...
- 用docker搭建selenium grid分布式环境实践之路
最近需要测试zoom视频会议,同时模拟100个人加入会议.经过了解,zoom提供了直接通过url链接加入会议的方式(只能通过chrome浏览器或者FireFox浏览器,因为用的协议是webrtc). ...
- Selenium Grid和IE /Firefox各种填坑
使用selenium grid的步骤 1.确保hub和node都安装并且配置好了java jdk. 2.在hub上运行以下命令. java -jar C:\Software\selenium\sele ...
- Selenium Grid分布式测试入门详解
本文对Selenium Grid进行了完整的介绍,从环境准备到使用Selenium Grid进行一次完整的多节点分布式测试. 运行环境为Windows 10,Selenium版本为 3.5.0,Chr ...
随机推荐
- IOS 100 - 1 开工闲聊
1 前言 现在的行情,作为码农,ios 普遍比c# 的待遇好上不少.感觉就如清洁工人,扫厕所干的再高效和干净,一个月就那么点微薄的收入.当然你可以选择去香港打扫卫生间,那里的行情据说清洁工也破万了.说 ...
- PHP+MYSQL+AJAX实现每日签到功能
一.web前端及ajax部分 文件index.html <html> <head> <meta http-equiv=Content-Type content=" ...
- WPF QuickStart系列之数据绑定(Data Binding)
这篇博客将展示WPF DataBinding的内容. 首先看一下WPF Data Binding的概览, Binding Source可以是任意的CLR对象,或者XML文件等,Binding Targ ...
- [Linux] 取得服务器版本
1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如: [root@3.5.5Biz-46 ~]# lsb_release -a LSB Version: 1.3 Dis ...
- Windows+Git+TortoiseGit+COPSSH 安装图文教程
转自:http://blog.csdn.net/aaron_luchen/article/details/10498181 准备工作: 1. Git-1.8.1.2-preview20130201.e ...
- OVER(PARTITION BY)函数用法
OVER(PARTITION BY)函数介绍 开窗函数 Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返 ...
- Java优化之输出十万以内的质数
(1)未经优化时所耗费的时间: public class PrimeNumber { public static void main(String[] args) { long start = Sys ...
- Android自动化压力测试之Monkey Test (三)
Monkey 是什么? Monkey是Google提供的一个用于稳定性与压力测试的命令行工具. Monkey路径: 路径:/System/framework/monkey.jar 启动脚本路径:/sy ...
- javascript引擎工作原理
1. 什么是JavaScript解析引擎? 简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序.比方说,当你写了 var a = 1 + ...
- jQuery.lazyload详解
<SCRIPT src="jquery.js" type=text/javascript></SCRIPT> <SCRIPT src="jq ...