selenium(java)之RemoteWebDriver的基本使用
来源:互联网 发布:u盘 知乎 编辑:程序博客网 时间:2024/06/07 21:57
selenium提供了RemoteWebDriver,可以使执行测试的机器和发送测试命令的机器独立开来,比如A机器,是写测试代码的机器,可以发送测试命令给服务器,可以理解为客户端;B机器是执行测试代码的机器,可以理解为服务器端,A发送命令给B,然后再B上面执行测试,并返回结果给A。
环境准备
通过上面的描述,我们需要两台机器,一台作为客户端,一台作为服务器端。
服务器端配置
前提是服务器已经安装jdk,我这里安装的是1.8。好像selenium-server3.0.0需要依赖java8(这个没有验证过),如果大家在启动server的过程中报错,可以尝试将jdk修改为1.8的试一下。
(1)下载安装firefox,chrome浏览器
(2)下载selenium-server-standalone.jar
官方下载地址:http://docs.seleniumhq.org/download/
我的百度云地址(selenium-server-standalone 3.0.0.jar):http://pan.baidu.com/s/1dEQ2tiD
(3)下载chromedriver,geckodriver(selenium3.0以及之后的版本支持的firefox driver)
chromedriver官方下载地址:http://docs.seleniumhq.org/download/
我的百度云地址(chromedriver 2.24):http://pan.baidu.com/s/1eSyWjp4
geckodriver官方下载地址:http://www.cnblogs.com/nbkhic/p/5779453.html
我的百度云下载地址(geckodriver):http://pan.baidu.com/s/1slTHQH3
说明:由于我下载的serverselenium-server-standalone.jar是3.0.0版本的,所以这里需要下载geckodriver,如果你本机的server不是3.0.0以及之后的版本,则不用单独下载firefox driver(geckodriver),可以直接使用selenium客户端的老版本的firefoxdriver。关于firefox driver和selenium-server-standalone.jar的版本问题,可以参见我的另外一篇博客“【问题】selenium-server-standalone和webdriver版本不对应的问题”
(4)在服务器端启动服务并配置driver
启动server的命令:java -jar D:\FilesToDriver\selenium-server-standalone-3.0.0.jar
将driver放置到系统变量下,一般放置到“C:\Windows\System32”下
其实这里可以创建一个批处理文件(start.bat),每次启动的时候就不用手工在cmd中输入命令,可以双击一键启动。
启动之后的cmd显示如下:
注意:服务器的地址如下:http://你的host地址:4444/wd/hub/,记录,后面编写客户端代码的时候需要使用
客户端配置
eclipse+selenium2.53.1+jdk1.8
package seleniumdemo;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
public class EDemo2 {
public static void main(String[] args) throws MalformedURLException, InterruptedException {
// RemoteWebDriver的基本使用
//第一个参数:表示服务器的地址。第二个参数:表示预期的执行对象,其他的浏览器都可以以此类推
WebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub/"), DesiredCapabilities.chrome());
driver.manage().window().maximize();
driver.get("http://www.baidu.com");
Thread.sleep(2000);
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("alert('我现在在服务器')");
Thread.sleep(2000);
driver.quit(); }}
执行脚本
其实脚本是在服务器端执行的,客户端用于发送命令。执行过程中可以看到服务器端的chrome别调用,
同时cmd打印出相关的运行信息,如下
- selenium(java)之RemoteWebDriver的基本使用
- selenium(java)之RemoteWebDriver的基本使用
- Java Selenium封装--RemoteWebDriver
- Java Selenium封装--RemoteWebDriver
- selenium之RemoteWebDriver远程测试
- Selenium的基本使用
- WebDriver之 RemoteWebDriver
- Selenium标签的基本使用
- java selenium的使用
- RemoteWebDriver
- WebDriver拾级而上·之十四 RemoteWebDriver
- WebDriver拾级而上·之十四 RemoteWebDriver
- 初学JAVA之基本语句的使用
- Java基本知识之基本数据类型的使用
- selenium面向对象之findBy()的使用
- 关于JAVA的selenium安装使用
- [转]关于JAVA的selenium安装使用
- 使用selenium IDE录制回放浏览器操作的基本步骤
- 阅读笔记:一种用于深度神经网络压缩的滤波器级别的剪枝算法ThiNet
- C++中的this指针
- 将PC端的文件复制到Wince 7的设备中报设备中断的问题
- Linux网络基础-七层模型详解
- 第一条博客
- selenium(java)之RemoteWebDriver的基本使用
- Android逆向之破解某僵尸游戏
- iPhoneX 适配
- 沪深股票历史财报数据查询系统网络共享版
- 【jvm】---classLoader 双亲委派模型
- 复杂性思维第二版 四、无标度网络
- Mac怎样启动mysql
- 10月份英语总结
- Hello,world