web端自动化——Remote应用
Selenium Grid允许同时并行地、在不同的环境上运行多个测试任务。这里主要演示一下怎么使用Selenium Grid。
准备:
1、 需要两台机子
2、两台机子分别安装好JDK环境
3、两台机子需要从https://pypi.python.org/pypi/selenium下载selenium-server-standalone-*.jar包
开始:
1、Grid需要一台机子做为主节点,然后其它机子做为子节点连接到这个主节点上来。所以首先要启
动主节点: 选一台机子做为主节点。打开命令行,cd至selenium-server-standalone-*.jar
包的目录下,然后用下面的命令启动主节点服务:
java -jar selenium-server-standalone-3.141.0.jar -role hub 默认启动默认端口为4444。如果要改这个端口,可以再上面的命令后面加上 -port XXXX。
启动完后,你可以用浏览器打开 http://localhost:4444/grid/console 。
【启动完主节点之后,要做的就是启动子节点。】
2、启动子节点: 先另一台机子做为子节点。同样打开命令行,cd至selenium-server-standalone-*.jar包的目录下,然后用下面的命令启动次节点服务: java -jar selenium-server-standalone-3.141.0.jar -role node -hub http://192.168.1.180:4444/grid/register ,此命令默认启动5555端口,可使用-port xxxx更改。其中192.168.1.180为主节点机子的ip地址,可以在cmd中输入ipconfig命令在命令行查看得到。
启动完成连接到主节点后,可以在主节点机子上 ,http://localhost:4444/grid/console网址查看到这个子节点状态。
【使用同样的方法,可以链接其它的子节点。】
3、首先,肯定通过Windows命令提示符启动Selenium Server。
java -jar selenium-server-standalone-3.141.0.jar
4、编写自动化测试脚本,在自己主机上运行测试用例。
例子如下:
通过Selenium Server可以轻松地创建本地节点和远程节点。而Remote的作用就是配置测试用例在这些节点上执行。
第二个例子:在本机打开cmd命令提示符窗口,分别启动一个1个hub和两个node (节点)
java -jar selenium-server-standalone-3.141.0.jar -role hub 默认端口444
java -jar selenium-server-standalone-3.141.0.jar -role node -port 5555
java -jar selenium-server-standalone-3.141.0.jar -role node -port 5557
如图:
启动远程node
我们目前启动的hub和node都是在同一台主机上,要想在其他主机上启动node,则必须满足以下要求。
●本地hub主机与远程node主机之间可以用ping命令连通。
(查看http://www.cnblogs.com/hhddcpp/p/3855496.html)
●远程主机必须安装用例执行的浏览器及驱动,并且驱动要放在已经存放环境变量的目录下。
●远程主机必须安装Java环境,因为需要运行Selenium Server。
2、操作步骤
①启动本地hub主机(本地主机识为:192.168.1.180)。
>java -jar selenium-server-standalone-3.141.0.jar -role hub
②启动远程node主机(操作系统:Mac OS X ,IP地址:192.168.1.181)。
>java -jar selenium-server-standalone-3.141.0.jar -role node –port 5558 -hub
http:// 192.168.1.180(hubip):4444/grid/register
设置的node端口号为:5558,指向的hub主机IP地址为192.168.1.180
③修改远程主机的IP地址及端口号,在其上面的浏览器运行脚本。
web端自动化——Remote应用的更多相关文章
- 接口自动化、移动端、web端自动化如何做?
1.<Python+Appium移动端自动化项目实战>-带您进入APP自动化测试的世界https://yuedu.baidu.com/ebook/765b38a5690203d8ce2f0 ...
- web端自动化——Selenium3+python自动化(3.7版本)-火狐62版本环境搭建
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Sel ...
- web端自动化——Selenium3+python自动化(3.7版本)-chrome67环境搭建
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Sel ...
- web端自动化——python多线程
Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁.threading基于Java的线程模型设计. 锁(Lock)条件变 ...
- web端自动化——Python的smtplib发送电子邮件
SMTP (Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. Python的smtplib模块提 ...
- web端自动化——自动化测试准备工作
准备工作# 在开始自己项目的自动化测试之前,我们最好已经完成了下面的准备工作: 1.熟悉待测系统 对项目的待测系统整体功能和业务逻辑有比较清晰的认识. 2.编写系统的自动化测试用例大纲和自动化测试用例 ...
- web端自动化——selenium3用法详解
selenium中文学习文档链接:https://selenium-python-zh.readthedocs.io/en/latest/getting-started.html selenium3+ ...
- 低代码开发,推荐一款Web 端自动化神器:Automa
1. Automa介绍 又到了优秀工具推荐的时候了,今天给大家分享一款前端自动化操作神器: Automa . 首先了解一下Automa是什么? Automa它定位是一款 Chrome 插件,也就意味着 ...
- web端自动化——webdriver驱动
1.1Edge浏览器(不过,Edge浏览器只能运行于 Windows 10) Edge驱动的下载地址,复制链接http://go.microsoft.com/fwlink/?LinkId=619687 ...
随机推荐
- learning java Cloneable
class Address{ String Detail; public Address(String detail){ this.Detail = detail; } } class User im ...
- Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件
第一种INI配置文件 .ini 文件是Initialization File的缩写,即初始化文件. 除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户 ...
- CSS渐变色边框,解决border设置渐变后,border-radius无效的问题
需求:用css设置渐变边框通过border-image来实现渐变色边框 <div class="content"></div> .content { wid ...
- pandas数据保存至Mysql数据库
pandas数据保存至Mysql数据库 import pandas as pd from sqlalchemy import create_engine host = '127.0.0.1' port ...
- 项目管理、bug管理工具 ---禅道使用流程
使用前描述: 禅道是付费的一款云平台工具,它可以实现项目管理.需求管理.bug提交.bug跟踪.文档管理.bug统计等功能 使用账号.密码:公司提供,登录后基本识别操作流程如下: 1.登录首页-我的地 ...
- Atcoder Grand Contest 026 (AGC026) F - Manju Game 博弈,动态规划
原文链接www.cnblogs.com/zhouzhendong/AGC026F.html 前言 太久没有发博客了,前来水一发. 题解 不妨设先手是 A,后手是 B.定义 \(i\) 为奇数时,\(a ...
- 【模板】最小割树(Gomory-Hu Tree)
传送门 Description 给定一个\(n\)个点\(m\)条边的无向连通图,多次询问两点之间的最小割 两点间的最小割是这样定义的:原图的每条边有一个割断它的代价,你需要用最小的代价使得这两个点不 ...
- [luogu 5024] 保卫王国
Problem Here Solution 这大概是一篇重复累赘的blog吧. 最小权覆盖集=全集-最大权独立集 强制取或不取,可以通过将权值修改成inf或者-inf 然后就用动态dp的套路就行了 动 ...
- PHP连接MySQL创建表
源代码: <?php header("Content-Type:text/html;charset=utf8");//声明编码格式 $conn=mysqli_connect( ...
- Android中进度条
<ProgressBar android:id="@+id/progress_bar" android:layout_width="match_parent&quo ...