最好的自助建站系统,舆情分析论文,网站推广专家,网站自建系统我们将在同一台工作电脑上#xff0c;分别启动主控#xff08;Hub#xff09;和节点#xff08;Node#xff09;2个Selenium Grid服务#xff0c;IP地址均使用环回地址127.0.0.1#xff0c;端口分别为4444和5555。开始以下操作前#xff0c;请确认你的机器上已经安装、…我们将在同一台工作电脑上分别启动主控Hub和节点Node2个Selenium Grid服务IP地址均使用环回地址127.0.0.1端口分别为4444和5555。开始以下操作前请确认你的机器上已经安装、配置好Java的开发环境。
从这里下载最新版的Selenium Grid。 执行以下命令启动主控Hub服务。注意这里使用了与后续命令不同的hub选项 java -jar /Users/aaron/driver/selenium-server-4.0.0.jar hub --host 127.0.0.1 --port 4444 执行以下命令启动节点Node服务。此处通过-D参数设置了Chrome驱动的文件路径作为系统属性使用--hub参数注册到了上一步中启动的主控Hub中通过--driver-configuration参数提供了Chrome相关的测试能力。 java -Dwebdriver.chrome.driver/Users/aaron/driver/chromedriver \-jar /Users/aaron/driver/selenium-server-4.0.0.jar \node \--host 127.0.0.1 --port 5555 \--hub http://127.0.0.1:4444/grid/register \--driver-configuration display-nameChrome webdriver-path/Users/aaron/driver/chromedriver stereotype{browserName: chrome, browserVersion: 95} 打开主控Hub的地址http://127.0.0.1:4444可以看到Node已经注册成功。 注实验发现官网4.0手册中所述的、紧跟--driver-configuration选项的webdriver-path参数未起作用。故此处重复使用了-D参数来指定驱动的文件路径这会造成上图中出现2个Chrome能力的图标但不影响使用。 执行以下命令从Gitee代码仓库获取演示项目的源代码 git clone https://gitee.com/ngtesting/ci_test_selenium_simple 在Idea中打开项目右击SeleniumTestRemote.java测试类文件选择Debug的菜单项执行JUnit单元测试。
这里给出完整的Java代码文件请留意它是如何连接远程主控Hub执行测试的。其他语言的例子请参照Selenium官方示例。
package com.deeptest.sample.selenium;import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;public class SeleniumTestRemote {// 类级别的变量private WebDriver driver;private MapString, Object vars;JavascriptExecutor js;// 使用JUnit的Before注解定义在测试执行前需执行的初始化行为。Beforepublic void setUp() {// 在请求中指定需要chrome 95的测试能力ChromeOptions chromeOptions new ChromeOptions();chromeOptions.setCapability(browserVersion, 95);// 初始化RemoteWebDriver对象连接到主控Hub服务// 实际测试执行将发生在已成功注册到Hub上的Node节点中。WebDriver driver null;try {driver new RemoteWebDriver(new URL(http://127.0.0.1:4444/wd/hub), chromeOptions);} catch (Exception e) {e.printStackTrace();}// 初始化JS执行器对象用于在浏览器中执行Javascript代码。js (JavascriptExecutor) driver;}// 使用JUnit的After注解定义在测试完成后需执行的清理代码。Afterpublic void tearDown() {// 退出并清理WebDriver对象if (driver ! null) {driver.quit();}}// 使用JUnit的After注解标注此方法为一个测试方法。Testpublic void test1() {// 打开百度网站首页driver.get(https://www.baidu.com/);// 设置浏览器窗口大小为1440x875driver.manage().window().setSize(new Dimension(1440, 875));// 找到id为kw的文本框控件在里面输入“禅道”文字。driver.findElement(By.id(kw)).sendKeys(禅道);// 找到id为su的按钮控件并点击。driver.findElement(By.id(su)).click();// 找到指定内容的链接并点击。driver.findElement(By.partialLinkText(开源项目管理软件)).click();}}
最后下面是配套学习资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你【100%无套路免费领取】 软件测试面试小程序
被百万人刷爆的软件测试题库谁用谁知道全网最全面试刷题小程序手机就可以刷题地铁上公交上卷起来 8小时传疯大厂面试真题全被大佬整理在这个小程序上了【软件测试建议收藏】 涵盖以下这些面试题板块 1、软件测试基础理论 2、web,app接口功能测试 3、网络 4、数据库 5、linux 6、web,app接口自动化 7、性能测试 8、编程基础9、hr面试题 10、开放性测试题11、安全测试12、计算机基础 全套资料获取方式点击下方小卡片自行领取即可