美丽的神话 发表于 3 天前

Selenium WebDriver 3.14.0:多语言版本与Selenium Grid服务器安装包

本文另有配套的佳构资源,点击获取https://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif
简介:本压缩文件包含Java、Python、.NET及Selenium Grid服务器组件的Selenium WebDriver 3.14.0版本,旨在通过四个不同编程语言版本的主动化测试工具支持,帮助开发者构建跨平台的Web应用主动化测试解决方案。 https://img-blog.csdnimg.cn/20200419233229962.JPG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1ZV8xMQ==,size_16,color_FFFFFF,t_70
1. Selenium WebDriver介绍

1.1 Selenium WebDriver的概念与作用

Selenium WebDriver 是一个用于主动化Web欣赏器操作的工具,它是Selenium项目的核心组件之一。通过模拟真实用户与网页的交互,可以实现欣赏器主动化测试。它支持多种编程语言,如Java、Python、C#等,以及多种欣赏器,如Chrome、Firefox、Safari等。其作用重要体现在Web应用的功能测试、回归测试以及复杂的业务流程测试等场景。
1.2 Selenium WebDriver的核心组件

Selenium WebDriver 的核心组件包括欣赏器驱动程序和Selenium客户端库。欣赏器驱动负责与特定欣赏器举行通信,执行由客户端库发送的命令。客户端库则为编程语言提供了API接口,答应开发者编写主动化脚本。Selenium Server(或称为Selenium Grid)用于扩展测试能力,实现长途测试和并行执行。
1.3 Selenium WebDriver与其他主动化工具的比较

Selenium WebDriver 与其他主动化工具相比,其重要优势在于跨欣赏器和跨平台的能力,以及社区支持的广泛性和活跃度。与QTP(UFT)或Selenium IDE等工具不同,Selenium WebDriver 更加灵活,能够满意各种复杂的测试需求。此外,由于其开源和免费的特性,它在开源社区中得到了广泛的应用和连续的更新。然而,Selenium WebDriver 在性能和易用性上可能不及一些商业工具,且在没有良好的框架和实践经验的支持下,编写和维护测试脚本可能会相对复杂。
2. Java版本的Selenium WebDriver

2.1 Java版本Selenium WebDriver的安装与设置

2.1.1 情况需求和安装步调

在开始使用Java版本的Selenium WebDriver之前,确保你的开发情况已经安装了Java开发工具包(JDK)。推荐使用Java 8或更高版本。安装JDK之后,需要设置情况变量JAVA_HOME来指向JDK的安装目录,并将JDK的bin目录添加到系统路径PATH中。
接下来,从官方网站下载适合Java的Selenium WebDriver。你需要下载selenium-java的jar文件以及对应的欣赏器驱动,例如chromedriver用于Chrome欣赏器,geckodriver用于Firefox欣赏器。
安装步调大致如下:

[*] 下载并安装Java开发工具包(JDK)。
[*] 设置情况变量JAVA_HOME指向JDK安装目录。
[*] 将JDK的bin目录添加到PATH情况变量。
[*] 下载selenium-java包和对应欣赏器驱动。
[*] 将selenium-java包中的jar文件添加到项目的类路径(classpath)中。
为了简化操作,可以通过Maven或Gradle来管理Java项目的依赖。以下是使用Maven在pom.xml文件中添加Selenium依赖的示例:
<dependencies>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.141.59</version> <!-- Use the latest version -->
    </dependency>
    <!-- Other dependencies -->
</dependencies>
2.1.2 设置情况变量

确保情况变量设置精确是运行Selenium WebDriver的关键步调。如果你使用的是Windows系统,可以按照以下步调设置情况变量:

[*] 打开系统属性,选择“高级”选项卡,然后点击“情况变量”按钮。
[*] 在“系统变量”地区点击“新建”,输入JAVA_HOME作为变量名,变量值为你JDK的安装路径(例如C:\Program Files\Java\jdk-11.0.5)。
[*] 在“系统变量”地区找到Path变量,选择“编辑”,然后点击“新建”,添加%JAVA_HOME%\bin到列表中。
[*] 如果你使用的是IDE,如IntelliJ IDEA或Eclipse,也需要在项目设置中设置JDK路径。
2.2 Java版本Selenium WebDriver的基础操作

2.2.1 Selenium WebDriver API简介

Selenium WebDriver API为主动化Web应用程序测试提供了丰富的接口。当你创建了一个WebDriver实例,你可以使用这些接口来启动欣赏器、打开网页、与页面元素交互(如点击链接、填写表单、选择下拉菜单等)、获取页面信息以及捕捉测试数据。
下面是一个简单的WebDriver API使用示例:
WebDriver driver = new ChromeDriver();
driver.get("http://www.example.com");
WebElement element = driver.findElement(By.id("example"));
element.sendKeys("Hello WebDriver");
driver.quit();
在上述代码中,ChromeDriver是Selenium提供的一个类,可以创建一个Chrome欣赏器实例。get方法打开指定的URL,findElement方法通过指定的定位器来寻找页面元素,sendKeys方法模拟键盘输入操作,末了quit方法关闭欣赏器实例。
2.2.2 创建欣赏器实例和基本导航操作

要创建一个欣赏器实例,你需要根据目的欣赏器下载对应的驱动程序(例如chromedriver),并将驱动程序的可执行文件路径添加到系统情况变量中。下面是如何创建Chrome欣赏器实例并举行基本导航操作的示例代码:
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize(); // 最大化窗口
driver.get("http://www.example.com"); // 打开网页
driver.navigate().to("http://www.example.com/about"); // 导航到新URL
driver.navigate().back(); // 后退到上一页面
driver.navigate().forward(); // 前进到下一页面
driver.quit(); // 关闭浏览器
2.3 Java版本Selenium WebDriver的高级应用

2.3.1 处理复杂页面元素

处理复杂的页面元素是Web主动化测试中的常见需求。Selenium提供了多种选择器(如id, name, class, tag name, link text, partial link text, CSS selector, XPath)来定位元素。此外,Selenium还提供了等候机制,比如WebDriverWait,来处理页面上的动态元素。
下面是一个使用WebDriverWait和ExpectedConditions等候元素可见的示例:
WebDriver driver = new ChromeDriver();
driver.get("http://www.example.com");
WebDriverWait wait = new WebDriverWait(driver, 10); // 设置最长等待时间为10秒
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("example")));
element.click();
2.3.2 测试用例的构造和管理

在举行主动化测试时,需要对测试用例举行构造和管理,以进步代码的可读性和可维护性。Page Object模式是一种常用的设计模式,它通过封装页面的元素和操作来简化测试代码。
public class HomePage {
    private WebDriver driver;

    public HomePage(WebDriver driver) {
      this.driver = driver;
    }

    public void open() {
      driver.get("http://www.example.com");
    }

    public void clickExampleLink() {
      WebElement link = driver.findElement(By.id("example"));
      link.click();
    }
}
在测试类中,使用Page Object模式可以如许:
public class SeleniumTest {
    WebDriver driver;

    @BeforeClass
    public void setUp() {
      driver = new ChromeDriver();
      driver.manage().window().maximize();
    }

    @Test
    public void testClickExampleLink() {
      HomePage homePage = new HomePage(driver);
      homePage.open();
      homePage.clickExampleLink();
    }

    @AfterClass
    public void tearDown() {
      driver.quit();
    }
}
2.3.3 使用Selenium WebDriver举行测试数据管理

测试数据管理是主动化测试中的一个重要方面。通过将测试数据从测试逻辑中分离出来,可以更容易地对数据举行维护和扩展。在Java中,可以使用Excel文件、CSV文件或数据库来存储测试数据。
以下是一个简单的例子,使用CSV文件来管理测试数据:
public class DataDrivenTest {
    WebDriver driver;
    String csvFile = "testData.csv";
    FileInputStream fileInputStream = null;

    @BeforeClass
    public void setup() {
      driver = new ChromeDriver();
      try {
            fileInputStream = new FileInputStream(csvFile);
      } catch (FileNotFoundException e) {
            e.printStackTrace();
      }
    }

    @Test(dataProvider="getData")
    public void testLogin(String username, String password) {
      LoginPage loginPage = new LoginPage(driver);
      loginPage.open();
      loginPage.login(username, password);
      Assert.assertTrue(loginPage.isLoggedIn());
    }

    @DataProvider(name="getData")
    public Object[][] getData() throws IOException {
      Object[][] data = new Object;
      BufferedReader reader = new BufferedReader(new FileReader(csvFile));
      String line = reader.readLine();
      while (line != null){
            String[] dataLine = line.split(",");
            dataLine = dataLine.trim();
            dataLine = dataLine.trim();
            data = dataLine;
            data = dataLine;
            line = reader.readLine();
      }
      reader.close();
      return data;
    }

    @AfterClass
    public void tearDown() {
      driver.quit();
    }
}
在getData方法中,测试数据从CSV文件读取,并按照DataProvider注解的命名规则返回给测试方法。如许,Selenium将为CSV文件中的每一行数据执行一次测试方法。
以上就是Java版本Selenium WebDriver的基础安装设置、基本操作以及高级应用的介绍。这些操作为举行有效且高效的主动化测试打下了坚固的基础,使得在实际的项目中可以更灵活地应对复杂的Web测试需求。
3. Python版本的Selenium WebDriver

3.1 Python版本Selenium WebDriver的安装与设置

3.1.1 情况搭建和依赖管理

为了有效地使用Python版本的Selenium WebDriver,首先需要搭建一个适合的开发情况。Python具有良好的跨平台特性,可以从Python官网下载适用于不同操作系统的Python表明器。完成基础情况搭建后,推荐使用虚拟情况管理工具如venv或virtualenv来创建隔离的Python情况,避免版本辩说。
安装Python:

[*] 访问Python官网下载最新版本的Python安装包。
[*] 运行下载的安装程序并确保在安装过程中勾选“Add Python to PATH”选项。
[*] 完成安装后,通过命令行输入python --version验证Python是否安装乐成。
安装virtualenv:
在命令行中执行以下命令来安装virtualenv:
pip install virtualenv
创建虚拟情况:
# 以Python 3.8为例,创建名为selenium_env的虚拟环境
virtualenv -p python3.8 selenium_env
激活虚拟情况:
对于不同的操作系统,激活命令有所区别:
# Windows环境下激活虚拟环境
selenium_env\Scripts\activate
# macOS/Linux环境下激活虚拟环境
source selenium_env/bin/activate
3.1.2 安装Selenium库和欣赏器驱动

安装完虚拟情况后,下一步是安装Selenium库以及对应欣赏器的驱动程序。Selenium库可以通过pip举行安装,欣赏器驱动则需要根据所用欣赏器的版本下载相应的驱动程序。
安装Selenium库:
pip install selenium
下载和安装欣赏器驱动:


[*] ChromeDriver: 需要与Chrome欣赏器版本匹配,访问ChromeDriver官网下载对应版本的驱动程序。
[*] GeckoDriver: 用于Mozilla Firefox欣赏器,从GeckoDriver官网下载所需版本。
下载完成后,将欣赏器驱动放置于系统PATH中或Python项目目录下,以便webdriver能够找到并使用它们。
3.2 Python版本Selenium WebDriver的基础编程

3.2.1 熟悉Python与Selenium的结合

Python与Selenium的结合提供了简洁的语法和强大的Web主动化测试能力。Python的易读性和简洁性使得脚本编写更为高效,而Selenium WebDriver则为操作欣赏器提供了丰富的API。相识Python和Selenium的基础知识是开始编写主动化脚本的关键。
Selenium WebDriver API简介:


[*]webdriver.Chrome():创建Chrome欣赏器实例。
[*]webdriver.Firefox():创建Firefox欣赏器实例。
[*]driver.get(url):导航到指定URL。
[*]driver.find_element_by_*():查找页面元素。
[*]driver.quit():关闭欣赏器和竣事会话。
编写基础脚本:
from selenium import webdriver

# 创建Chrome浏览器实例
driver = webdriver.Chrome()

# 导航到指定URL
driver.get("http://www.example.com")

# 查找页面元素并点击按钮
button = driver.find_element_by_id("submit")
button.click()

# 关闭浏览器
driver.quit()
3.2.2 基本的页面元素操作

在举行Web主动化测试时,每每需要与页面元素举行交互。Selenium提供了丰富的方法来定位页面元素,并举行各种操作。
元素定位方法:


[*]find_element_by_id(id_value):通过元素ID定位。
[*]find_element_by_xpath(xpath_value):通过XPath定位。
[*]find_element_by_name(name_value):通过元素name属性定位。
[*]find_element_by_css_selector(selector_value):通过CSS选择器定位。
元素交互操作:


[*]click():模拟点击操作。
[*]send_keys(*value):向输入框发送文本。
[*]submit():提交表单。
示例代码:
# 通过ID定位按钮并点击
button = driver.find_element_by_id("button_id")
button.click()

# 通过CSS选择器定位输入框并输入文本
input_field = driver.find_element_by_css_selector(".input-field")
input_field.send_keys("Hello Selenium")

# 通过name定位提交按钮并点击
submit_button = driver.find_element_by_name("submit")
submit_button.click()
3.3 Python版本Selenium WebDriver的高级特性

3.3.1 多欣赏器支持与并发执行

Python的Selenium WebDriver提供对多种欣赏器的支持,包括但不限于Chrome, Firefox, Internet Explorer, Safari等。通过在创建webdriver实例时选择不同的驱动程序,可以实现跨欣赏器的主动化测试。
同时运行多个欣赏器实例:
为了进步测试效率,可以使用多线程或多历程技术来同时运行多个欣赏器实例。如允许以模拟多个用户同时操作,实现并发执行。
示例代码:
import concurrent.futures
from selenium import webdriver

# 定义浏览器初始化函数
def init_browser(browser):
    if browser == 'chrome':
      driver = webdriver.Chrome()
    elif browser == 'firefox':
      driver = webdriver.Firefox()
    else:
      raise ValueError("Browser not supported")
    return driver

# 并发执行
browsers = ['chrome', 'firefox']
with concurrent.futures.ThreadPoolExecutor(max_workers=len(browsers)) as executor:
    drivers = list(executor.map(init_browser, browsers))

# 每个浏览器执行不同的操作...

# 关闭所有浏览器实例
for driver in drivers:
    driver.quit()
3.3.2 数据驱动测试与连续集成

数据驱动测试是一种测试方法,其中测试数据和测试逻辑是分开的。使用Python的Selenium WebDriver举行数据驱动测试时,通常结合外部数据源(如CSV, Excel, JSON文件或数据库)来提供测试输入,从而实现测试用例的参数化。
测试数据构造示例:
假设有CSV文件test_data.csv,格式如下:
id,name,email,password
1,"Alice","alice@example.com","secret1"
2,"Bob","bob@example.com","secret2"
结合Python的csv模块读取数据,并举行测试:
import csv

# 读取CSV文件中的测试数据
with open('test_data.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
      # 使用从CSV文件中读取的参数进行测试
      driver.get("http://www.example.com/login")
      driver.find_element_by_id("username").send_keys(row['name'])
      driver.find_element_by_id("password").send_keys(row['password'])
      # ... 进行其他测试操作

# 关闭浏览器
driver.quit()
在连续集成(CI)情况中,数据驱动测试可以和测试框架如pytest结合使用,并通过CI工具如Jenkins来主动化执行测试。如允许以确保每次代码提交都能快速反馈测试结果,实时发现并修复问题。
通过Python的Selenium WebDriver举行主动化测试,结合其强大的脚本编写能力和丰富的库支持,可以实现高效且灵活的Web主动化测试解决方案。随着技术的深入和实践的积聚,可以进一步探索更多的高级特性,进步测试工作的效率和质量。
4. .NET版本的Selenium WebDriver

4.1 .NET版本Selenium WebDriver的情况准备

4.1.1 安装Visual Studio和.NET框架

在开始使用.NET版本的Selenium WebDriver之前,开发者需要准备好得当的开发情况。Visual Studio是微软推出的集成开发情况,它支持.NET框架的多种语言,比如C#。安装Visual Studio首先需要从微软的官方网站下载安装程序。


[*] 下载Visual Studio安装器
[*] 运行安装器并按照向导步调选择“.NET桌面开发”工作负载
[*] 完成安装并启动Visual Studio
.NET框架是运行.NET应用程序的基础,开发者可以通过Visual Studio的安装器来安装或更新.NET框架。
4.1.2 安装Selenium WebDriver for .NET

一旦具备了.NET开发情况,下一步就是安装Selenium WebDriver for .NET。这可以通过NuGet包管理器完成,NuGet是.NET的包管理工具。


[*] 打开Visual Studio
[*] 点击“工具”菜单,然后选择“NuGet包管理器” -> “管明白决方案的NuGet包”
[*] 在NuGet包管理器中,选择“欣赏”标签
[*] 输入“Selenium WebDriver”举行搜索
[*] 选择适合的包版本,然后点击“安装”
在安装过程中,NuGet会主动下载并安装Selenium WebDriver的引用。安装完成后,开发者就可以在.NET项目中使用Selenium WebDriver举行主动化测试了。
4.2 .NET版本Selenium WebDriver的基本使用

4.2.1 C#中Selenium WebDriver的调用方式

要开始使用Selenium WebDriver举行主动化测试,开发者必须相识如何在C#中调用WebDriver类。首先需要引入Selenium库的命名空间。
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome; // 以ChromeDriver为例
接下来创建一个欣赏器实例,例如ChromeDriver。
IWebDriver driver = new ChromeDriver();
现在可以使用driver对象来控制欣赏器举行导航操作。
driver.Navigate().GoToUrl("http://www.google.com");
4.2.2 创建和控制欣赏器实例

在.NET中使用Selenium WebDriver时,创建欣赏器实例是基础操作。可以指定欣赏器驱动的路径来初始化一个欣赏器实例。
ChromeDriverService service = ChromeDriverService.CreateDefaultService(@"C:\Path\To\chromedriver.exe");
IWebDriver driver = new ChromeDriver(service);
控制欣赏器实例则涉及导航到特定的URL、查找页面元素、与页面举行交互等。
driver.Navigate().GoToUrl("http://www.example.com");
IWebElement searchBox = driver.FindElement(By.Id("search"));
searchBox.SendKeys("Selenium WebDriver");
4.3 .NET版本Selenium WebDriver的深入实践

4.3.1 使用Page Object模式构造测试代码

Page Object模式是主动化测试中的一种设计模式,它将测试脚本中的页面元素和操作抽象成页面临象。如允许以进步测试代码的可维护性和可读性。
首先,创建一个页面类来代表一个网页。
public class GooglePage{    private IWebDriver driver;    public IWebElement SearchBox { get { return driver.FindElement(By.Name("q")); } }    public IWebElement SearchButton { get { return driver.FindElement(By.Name("btnK")); } }    public GooglePage(IWebDriver driver)    {      this.driver = driver;    }    public void NavigateTo()    {      driver.Navigate().GoToUrl("http://www.google.com");
    }    public void Search(string query)    {      SearchBox.SendKeys(query);      SearchButton.Click();    }}然后,在测试脚本中,我们可以如许使用这个页面类:
IWebDriver driver = new ChromeDriver();
var googlePage = new GooglePage(driver);googlePage.NavigateTo();googlePage.Search("Selenium WebDriver"); 4.3.2 集成测试框架NUnit和TestNG举行测试

为了运行和管理主动化测试,通常我们会使用测试框架如NUnit或TestNG。这两种框架在.NET中被广泛使用,它们提供了一系列的测试工具和注解,让测试的编写和执行更为简单。
以NUnit为例,创建一个测试类并编写测试方法。

public class GoogleSearchTest
{
    private IWebDriver driver;

   
    public void Setup()
    {
      driver = new ChromeDriver();
    }

   
    public void ShouldSearchForSelenium()
    {
      var googlePage = new GooglePage(driver);
      googlePage.NavigateTo();
      googlePage.Search("Selenium WebDriver");

      // 断言逻辑可以添加到这里
    }

   
    public void TearDown()
    {
      driver.Quit();
    }
}
在这个例子中,使用了NUnit的和注解来界说测试类和测试方法。和注解分别表现测试前的准备和测试后的清理工作。使用如许的结构,测试代码被清晰地构造起来,方便了测试的维护和执行。
5. Selenium Grid 3.14.0介绍及下载使用

5.1 Selenium Grid的架构和功能概述

5.1.1 分布式测试的原理

Selenium Grid 的核心思想是分布式测试,它答应测试脚本在多台机器上并行运行,从而缩短测试周期并进步效率。通过在多个服务器上摆设不同的欣赏器和欣赏器版本,Selenium Grid 可以支持跨欣赏器的测试场景。它重要通过hub节点管理和路由测试到一组注册的长途节点上执行,这些长途节点提供实际的欣赏器情况。
5.1.2 Selenium Grid的组件介绍

Selenium Grid 重要包含两个组件:Hub 和 Node。


[*] Hub (中央节点) : 这是一个中央控制点,所有的测试请求都会发送到这里,然后它会根据请求将测试分配给可用的节点。Hub 维护了一个节点列表,用于跟踪所有连接的节点及其状态,并负责调理测试到相应的节点上执行。
[*] Node (长途节点) : 长途节点连接到Hub,并注册其可提供的能力,如支持的欣赏器和操作系统。一旦Hub分派了一个测试到一个节点,节点就会在自身提供的情况中运行该测试,并将结果返回给Hub。
5.2 Selenium Grid 3.14.0的安装与设置

5.2.1 下载最新版本的Selenium Grid

首先,我们需要下载Selenium Grid的最新版本。可以访问Selenium官方网站下载页面,选择与您操作系统匹配的最新版本举行下载。下载完成后,我们通常得到一个jar文件,如selenium-server-standalone-3.14.0.jar。
5.2.2 设置中央节点和长途节点

安装和设置分为两个步调:设置中央节点(Hub)和设置长途节点(Node)。
中央节点设置

运行以下命令来启动中央节点:
java -jar selenium-server-standalone-3.14.0.jar -role hub
这个命令会在默认端口4444上启动中央节点。启动后,您可以通过欣赏器访问http://localhost:4444/来查抄中央节点是否正常运行。
长途节点设置

长途节点需要注册到中央节点并使用其提供的能力。使用以下命令启动长途节点,并将其注册到中央节点:
java -jar selenium-server-standalone-3.14.0.jar -role node -hub http://<hub-ip>:4444/grid/register
将<hub-ip>替换为您运行中央节点的IP地址。您也可以指定端口,以及其他参数,例如欣赏器和平台信息。
5.3 Selenium Grid的实战应用

5.3.1 并行测试的设置与执行

要运行并行测试,需要在测试脚本中指定要使用的中央节点的URL。在Selenium WebDriver中,可以通过设置DesiredCapabilities对象并设置seleniumImplementationType参数来指定使用Selenium Grid。
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PLATFORM_NAME, "Windows 10");
capabilities.setCapability(CapabilityType.BROWSER_NAME, "chrome");

WebDriver driver = new RemoteWebDriver(new URL("http://<hub-ip>:4444/wd/hub"), capabilities);
如许设置后,每次测试执行时,都会被Hub分派到恣意一个可用的Node上执行,实现了并行测试。
5.3.2 跨欣赏器和跨平台测试的实现

Selenium Grid 答应在不同的操作系统和欣赏器上执行测试。在长途节点上安装不同版本的欣赏器和不同的操作系统,注册到中央节点。当中央节点接收到测试请求时,根据测试的DesiredCapabilities中指定的欣赏器和平台信息,分配给对应的节点。
5.3.3 日志监控与结果分析

Selenium Grid提供了详细日志记录功能,可以跟踪测试的每个步调。这些日志可以帮助开发者快速定位问题和分析测试结果。日志通常保存在$HOME/selenium_grid_logs目录下,但可以通过修改启动参数来自界说日志路径。
对于日志分析和结果陈诉,也可以集成第三方工具如Allure,或者使用Selenium Grid自带的/grid/admin/Lounge端口来检察节点状态和测试进度。
通过以上步调和分析,Selenium Grid可以有效地支持大规模和复杂的主动化测试需求,使得测试过程更加高效和可控。
   本文另有配套的佳构资源,点击获取https://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif
简介:本压缩文件包含Java、Python、.NET及Selenium Grid服务器组件的Selenium WebDriver 3.14.0版本,旨在通过四个不同编程语言版本的主动化测试工具支持,帮助开发者构建跨平台的Web应用主动化测试解决方案。
   本文另有配套的佳构资源,点击获取https://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Selenium WebDriver 3.14.0:多语言版本与Selenium Grid服务器安装包