Selenium 2 入门

selenium 启动常用浏览器驱动方式 !我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。 阅读详情

简介

Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。

Selenium(以下简称为 Selenium 1)并不是能够在浏览器中自动化功能测试的惟一工具。由 Simon Stewart(来自 Google)创建的 WebDriver 是一个具有类似目标的项目。要控制浏览器,需要依赖采用本机支持的独立客户端。WebDriver 仅提供 Java 绑定,并不能支持 Selenium 1 所能支持的那么多浏览器。

Selenium 1 + WebDriver = Selenium 2

Selenium 1 和 WebDriver 合并成一款性能更佳的产品 Selenium 2(或 Selenium WebDriver),该款产品发行于 2011 年。Selenium 2 具有来自 WebDriver 的清晰面向对象 API,并能以最佳的方式与浏览器进行交互。Selenium 2 不使用 JavaScript 沙盒,它支持多种浏览器和多语言绑定。在撰写本文时,Selenium 2 为下列程序提供驱动程序:

  • Mozilla Firefox
  • Google Chrome
  • Microsoft Internet Explorer
  • Opera
  • Apple iPhone
  • Android browsers

借助 Selenium 2,您可使用 Java、C#、Ruby、和 Python 编写测试。Selenium 2 还提供基于 HtmlUnit 的无外设驱动,是用于测试 Web 应用程序的 Java 框架。HtmlUnit 运行速度特别快,但它不是一个真正与真实浏览器相关联的驱动。

目前,Selenium 2 仍处于开发阶段,还有些细节问题正在处理。当前版本为 2.9。针对 Safari 和 Blackberry 的驱动将会在近期集成到产品中。

在本文当中,我们将学习如何利用 Selenium 2 来测试 Web 应用程序。示例展示了如何远程实现测试。我们还将学习如何将编写好的测试从 Selenium 1 转移到 Selenium 2 中。

下载本文中所使用的源代码。

Selenium 2 入门

在本节,我们将学习如何将 Selenium 2 框架用于 Web 应用程序的一个相对简单的测试中。开发环境采用 Java 语言。您还需要包括 Java 绑定的 selenium-java-<version>.jar(参阅 参考资料并下载)。在一个 Maven 项目中,您只需要在 pom.xml 中包含正确的依赖性,如 清单 1所示。

清单 1. Selenium-java 依赖性
1
2
3
4
5
< dependency >
    < groupId >org.seleniumhq.selenium</ groupId >
    < artifactId >selenium-java</ artifactId >
    < version >2.9.0</ version >
</ dependency >

现在,可以开始编写测试。WebDriver API 中的主要组件是 WebDriver接口。这一公共接口在每个有效浏览器中都能实现。例如,类 FirefoxDriver将用于控制 Mozilla Firefox。清单 2展示了如何在测试当中实例化一个特定的实现。您可以采用最符合您需求的测试框架,比如 JUnit 或者 TestNG。

清单 2. 实例化的 FirefoxDriver
1
2
3
4
5
6
7
public class Selenium2Example1Test {
    @Test
    public void test() {
        // Instantiate a webDriver implementation
        WebDriver webdriver = new FirefoxDriver();
    }
}

要加载页面进行测试,可利用 get()方法。在 清单 3中,GitHub 主 (https://github.com) 被加载到先前创建的 Firefox 实例中。

清单 3. 在测试下加载页面
1
2
WebDriver webdriver = new FirefoxDriver();
webdriver.get(https://github.com);

您可在刚加载的页面上添加断言。假如您想要测试页面标题是否等于 "GitHub - Social Coding",如下 清单 4所示。WebDriver 提供 getTitle()方法;您可利用所选的测试框架来生成断言。

清单 4. 页面标题的断言
1
Assert.assertEquals("GitHub - Social Coding", webdriver.getTitle());

完成测试以后,最好利用 quit()方法来终止 WebDriver 实例,如下 清单 5所示。

清单 5. 终止 WebDriver 实例
1
webdriver.quit();

FirefoxDriver只是有效的 WebDriver 实现之一。您可以利用 ChromeDrive 在 Chrome 内部运行测试,来执行相同的测试。清单 6展示了利用 ChromeDriver 的完整示例。

清单 6. ChromeDriver 样例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Selenium2Example2Test {
     @Test
     public void test() {
         System.setProperty("webdriver.chrome.driver",
"src/main/resources/drivers/chrome/chromedriver-mac");
 
         // Instantiate a webDriver implementation
         WebDriver webdriver = new ChromeDriver();
 
         webdriver.get(https://github.com);
 
         Assert.assertEquals("GitHub - Social Coding", webdriver.getTitle());
     }
  }

在实例化 ChromeDriver 之前,需要正确设置 "webdriver.chrome.driver"系统属性。该属性指出您操作系统的 ChromeDriver 文件位置(参阅 参考资料并下载)。清单 6中的示例使用了针对 Mac 的版本;同样可用针对 Windows 和 Linux 的版本。

要在 Internet Explorer 中执行相同的测试,需要用到 InterentExplorerDriver类的实例,如 清单 7所示。

清单 7. InternetExplorerDriver实例化
1
WebDriver webdriver = new InternetExplorerDriver();

当采用 InterenetExplorerDriver时,可能会遇到一个安全问题提示:"Protected Mode must be set to the same value (enabled or disabled) for all zones"。想要解决这一问题,需要设置特定的功能,如 清单 8所示。

清单 8. 为 Internet Explorer 设置安全性功能
1
2
3
4
5
DesiredCapabilities capability=DesiredCapabilities.internetExplorer();
capability.setCapability(
              InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_
IGNORING_SECURITY_DOMAINS, true);
WebDriver webdriver = new InternetExplorerDriver(capability);

要在 Opera 中执行测试,需要实例化 OperaDriver类,这是由 Opera 直接开发的。记得要将包含驱动的 JAR 包括到项目中。如果您使用 Maven,则仅需增加 清单 9中的依赖性。

清单 9. OperaDriver依赖性
1
2
3
4
5
< dependency >
    < groupId >com.opera</ groupId >
    < artifactId >operadriver</ artifactId >
    < version >0.7.3</ version >
</ dependency >

需要额外配置以实现在 iPhone 或者 Android 浏览器模拟器中运行测试。

使用 Selenium 2 进行测试

使用 Selenium 2 可以构建比前节内容更加复杂的测试。在本节中,您将测试到,GitHub 主页的顶部导航共有 5 个列表项:Signup and Pricing、Explore GitHub、Features、Blog 以及 Login。图 1展示了 Github 主页。

图 1. Github 主页
Github 主页

查看顶部导航的 HTML 代码,如 清单 10所示。

清单 10. 顶部导航的 HTML 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
< html >
< head >
    ...
    </ head >
    < body class = "logged_out env-production" >
        < div id = "main" >
            < div id = "header" class = "true" >
...
                < div class = "topsearch" >
                        < ul class = "nav logged_out" >
                            < li class = "pricing" >
< a href = "https://github.com/plans" >Signup and Pricing</ a >
</ li >
                            < li class = "explore" >
< a href = "https://github.com/explore" >Explore GitHub</ a >
</ li >
                          < li class = "features" >
< a href = "https://github.com/features" >Features</ a >
</ li >
                            < li class = "blog" >
< a href = "https://github.com/blog" >Blog</ a >
</ li >
                          < li class = "login" >
< a href = "https://github.com/login" >Login</ a >
</ li >
                        </ ul >
</ div >
...
            </ div >
            ...
        </ div >
       ...
    </ body >
</ html >

可利用 WebDriver API(从 HTML 代码内部)检索您需要测试的元素。findElement()和 findElements()方法会返回公共接口 WebElement的一个实例或者一组实例。WebElement可以以一种清晰的、面向对象的方式应用于页面中的所有元素。在 API 中可以使用许多不同的策略来定位 UI 元素。这些策略由传递至 findElement()和 findElements()方法的不同类型参数所代表。清单 11展示了应用抽象类 By的各个方法来实现不同策略的示例。

清单 11. 使用 findElement()方法
1
2
3
4
5
6
7
8
WebElement element1 = webdriver.findElement(By.id("header"));
WebElement element2 = webdriver.findElement(By.name("name"));
WebElement element3 = webdriver.findElement(By.tagName("a"));
WebElement element4 = webdriver.findElement(By.xpath("//a[@title='logo']"));
WebElement element5 = webdriver.findElement(By.cssSelector(".feautures"));
WebElement element6 = webdriver.findElement(By.linkText("Blog"));
WebElement element7 = webdriver.findElement(By.partialLinkText("Ruby"));
WebElement element8 = webdriver.findElement(By.className("login"));

使用 清单 11中的一个策略,就可以开始编写测试来检索第一个元素:UL标记中 LI标记带有 nav类。清单 12使用了 Xpath (By.xpath())。

清单 12. Xpath
1
2
List< WebElement > webElements = webdriver.findElements(By
            .xpath("//ul[@class='nav logged_out']/li"));

清单 13使用 CSS 选择器 (By.cssSelector()) 来检索 LI标记。

清单 13. CSS 选择器
1
2
List< WebElement > webElements = webdriver.findElements(By
            .cssSelector("ul.nav li"));

此时,可在所检索的项数量上生成断言,如 清单 14所示。

清单 14. 项数量上的断言
1
Assert.assertEquals(5, webElements.size());

前面的步骤验证了 LI标记数量等于 5。

下一步是检索每个 LI标记中的每个锚点(A标记)。 清单 15展示了如何在第一个 LI中获取锚点。此用例使用了 tagName (By.tagName()) 策略。

清单 15. 检索第一个 LI 标记中的 A锚点
1
WebElement anchor1 = webElements.get(0).findElement(By.tagName("a"));

您可以使用类似的方法收集到所有的 5 个锚点,如 清单 16所示。

清单 16. 检索 LI标记中的所有锚点
1
2
3
4
5
WebElement anchor1 = webElements.get(0).findElement(By.tagName("a"));
WebElement anchor2 = webElements.get(1).findElement(By.tagName("a"));
WebElement anchor3 = webElements.get(2).findElement(By.tagName("a"));
WebElement anchor4 = webElements.get(3).findElement(By.tagName("a"));
WebElement anchor5 = webElements.get(4).findElement(By.tagName("a"));

在这一阶段,您可以验证,锚点内的文本是否与所期望的字符串一致。要检索标记内的文本,WebDriver 提供了 getText()方法。清单 17展示了完整的测试方法,以及测试底部的断言。

清单 17. 完成测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Test
public void test() {
WebDriver webdriver = new FirefoxDriver();   
webdriver.get("https://github.com");
List< WebElement > webElements = webdriver.findElements(By
                .xpath("//ul[@class='nav logged_out']/li"));
Assert.assertEquals(5, webElements.size());
 
    // Retrieve the anchors
    WebElement anchor1 = webElements.get(0).findElement(By.tagName("a"));
    WebElement anchor2 = webElements.get(1).findElement(By.tagName("a"));
    WebElement anchor3 = webElements.get(2).findElement(By.tagName("a"));
    WebElement anchor4 = webElements.get(3).findElement(By.tagName("a"));
    WebElement anchor5 = webElements.get(4).findElement(By.tagName("a"));
    
// Assertions   
    Assert.assertEquals("Signup and Pricing", anchor1.getText());
    Assert.assertEquals("Explore GitHub", anchor2.getText());
    Assert.assertEquals("Features", anchor3.getText());
    Assert.assertEquals("Blog", anchor4.getText());
    Assert.assertEquals("Login", anchor5.getText());
        
    webdriver.quit();
 
}

启动这一测试后,将会打开一个新的 Firefox 窗口,该窗口将会保持开启,直到执行完所有的断言。

使用 Selenium Grid 2 进行远程测试

可在 Selenium 2 中进行本地或远程测试。要实现远程运行,该测试需要使用名为 RemoteWebDriver的 WebDriver接口的特定实现。您可以指定浏览器采用 DesiredCapabilities类运行。清单 18显示了相关示例。

清单 18. RemoteWebDriver和 DesiredCapabilities类
1
2
3
4
5
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName("firefox");
capabilities.setVersion("7");
capabilities.setPlatform("MAC");
WebDriver webdriver = new RemoteWebDriver(capabilities);

借助 DesiredCapabilities类,您可以指定浏览器的名称、平台和浏览器版本。您还可指定浏览器支持的其他功能。

如果想要远程执行结构化测试,并运行多个浏览器(并且可能是不同的虚拟机),Selenium Grid 提供了很好的解决方案。

Selenium Grid 2 提供了基础设施,其中每个节点代表了不同浏览器将自身注册到 hub 当中。单数的测试将会调用一个 hub,它负责将每个请求分配到正确的浏览器。Hub 和节点可以运行在不同的虚拟机当中。

要实现远程测试,则需要在您将要使用的每台机器上下载 selenium-server-standalone-<version>.jar。要在机器上安装 hub,转到您下载 JAR 所在的文件夹,并运行 清单 19中的命令。

清单 19. 启动 hub
1
java -jar selenium-server-standalone-2.9.0.jar ?role hub

您可在 http://localhost:4444/grid/console 访问 Grid 2 控制台,其中会列出所有可用的节点。要注册一个节点,仅需运行一个命令,如 清单 20所示。

清单 20. 在 hub 中注册的节点
1
2
java -jar selenium-server-standalone-2.9.0.jar
-role webdriver ?hub http://localhost:4444/grid/register -port 5556

在默认情况下,清单 20中的命令注册了 7 个浏览器:5 个 Firefox 实例、1 个 Chrome 实例以及一个 Internet Explorer 实例。您可以在特定的端口上定位一个特定浏览器,如 清单 21所示。

清单 21. 在 hub 上注册的 Firefox 7 实例
1
2
3
java -jar selenium-server-standalone-2.9.0.jar -role webdriver
-hub http://localhost:4444/grid/register -port 5556 -browser
browserName=chrome,version=14,platform=MAC

注册完一些浏览器之后,Selenium Grid 2 控制台会变成如 图 2显示的样子。

图 2. Selenium Grid 2 控制台视图
Grid 2 控制台视图样例

要使用网格,则需要在测试用例中指定 hub 的 URL 和所要控制的浏览器。清单 22展示了 RemoteWebDriver类构造函数接受了 hub 的 URL 以及定义特定浏览器的 DesiredCapabilities实例。

清单 22. RemoteWebDriver实例化
1
2
3
4
5
6
DesiredCapabilities capability = new DesiredCapabilities();
capability.setBrowserName("chrome");
capability.setVersion("14");
capability.setPlatform(Platform.MAC);
WebDriver webdriver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),
capability);

在本用例中,hub 将会启动与 Chrome 版本 14(之前已在 清单 21中注册的)相关联的节点。

Selenium Grid 2 还向后兼容 Selenium 1。您可以在 hub 中注册 Selenium 1 RC 节点(这是 hub 中 Selenium 1 基础设施的一部分),如 清单 23所示。

清单 23. Selenium 1 RC 节点注册
1
2
java ?jar selenium-server-standalone-2.9.0.jar
-role rc ?hub http://localhost:4444/grid/register -port 5557

将测试从 Selenium 1 迁移到 Selenium 2

如果需要将编写好的测试从 Selenium 1 转移到 Selenium 2,那么这种转移会相当平滑。Selenium 1 API 保留在新的 API 中,使得 Selenium 2 能够完全向后兼容。

将测试从 Selenium 1 转移到 Selenium 2 非常简单,这要归功于 WebDriverBackedSelenium类。它将一个 WebDriver的实例和 URL 作为测试的参数,并且返回一个 Selenium 实例。清单 24展示了与 清单 16相同示例,但是使用集成到 Selenium 2 中的 Selenium 1 API。

清单 24. 将 Selenium 1 集成到 Selenium 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
@Test
public void test() {
    String url = "https://github.com";
WebDriver webdriver = new FirefoxDriver();
webdriver.get(url);
Selenium selenium = new WebDriverBackedSelenium(webdriver, url);
    selenium.open(url);
        
// Get the number of LIs
    Number lis = selenium.getXpathCount("//ul[@class='nav logged_out']/li");
 
    Assert.assertEquals(5, lis.intValue());
 
    // Retrieve the text inside the anchors
    String anchor1Text = selenium.getText("//ul[@class='nav logged_out']/li[1]/a");
    String anchor2Text = selenium.getText("//ul[@class='nav logged_out']/li[2]/a");
    String anchor3Text = selenium.getText("//ul[@class='nav logged_out']/li[3]/a");
    String anchor4Text = selenium.getText("//ul[@class='nav logged_out']/li[4]/a");
    String anchor5Text = selenium.getText("//ul[@class='nav logged_out']/li[5]/a");
        
    Assert.assertEquals("Signup and Pricing", anchor1Text);
    Assert.assertEquals("Explore GitHub", anchor2Text);
    Assert.assertEquals("Features", anchor3Text);
    Assert.assertEquals("Blog", anchor4Text);
    Assert.assertEquals("Login", anchor5Text);
        
    webdriver.quit();
}

Selenium 2 更加关注开发者。它具有比 Selenium 1 更清晰的 API,正如 getText()和 getXpathCount()方法签名所证明的一样。Selenium 2 API 还具有更好的面向对象的特点。例如,不允许您处理 UI 元素对象,仅允许处理字符串。

结束语

Selenium 2 标志着浏览器内部自动测试的一个演变过程。它继承了 Selenium 1 与 WebDriver 最优秀的部分,并提供了与多个浏览器的紧密集成。新的 API 更符合开发人员的要求,提供了面向对象的方法,并提供了不同的模型用于编写测试。此外,Selenium 2 还:

  • 克服与相同原始策略相关联的限制。
  • 为弹出窗口提供更好的支持。
  • 有效控制本机的键盘与鼠标的交互。

Selenium Grid 的新版本(包括在 Selenium 2 中)使得远程加载测试更加方便。Selenium 2 能够向后兼容 Selenium 1,因此升级到新版本轻而易举。Selenium 2 能够帮助确保应用程序按需工作。

用python玩转selenium:2-入门实例及分析 selenium2入门 上篇-用python玩转selenium:1-准备环境已经介绍了selenium-python环境配置,或者说安装的python已经集成了selenium模块,现在我们就可以开始编写第一个脚本。 #coding = utf-8 from selenium import webdriver from selenium.webdriver.common.keys imp 阅读详情

相关推荐

STM32 BLDC无刷电机霍尔信号捕获与换相控制实战解析

本文深入解析了STM32如何实现BLDC无刷电机的霍尔信号捕获与换相控制。详细阐述了硬件接口配置、定时器霍尔传感器模式的使用、抗干扰的滤波器与软件容错设计,以及中断服务与换相逻辑的实战代码。重点解决了信号抖动、换相不准等常见问题,旨在帮助开发者构建稳定可靠的电机驱动基础。

weixin_29193259的博客 367

seleniumbasic+VBA配置自动控制网页

下载安装seleniumbasic1.首先,下载Selenium Basic安装程序。您可以从以下链接下载最新版本的Selenium Basic:https://florentbr.github.io/SeleniumBasic/。2.运行Selenium Basic安装程序,并按照安装向导的指示进行操作。在安装过程中,您可以选择要安装的浏览器驱动程序,例如ChromeDriver、FirefoxDriver等。(就是一路Accept、next)

m0_73608980的博客 8711

Charles 抓包工具下载安装及基础使用

本篇内容主讲关于Charles抓包工具,从下载安装以及配置信息,证书的下载安装以及PC端设置代理配置和移动端设备配置代理,阐述关于Charles抓包工具面板的基础使用以及如何进行抓包和设置断点,对于软件测试以及对抓包感兴趣的读者可以翻阅!感谢大家的支持!!!

灵魂学者的博客 2957

Selenium 2入门

简介 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。 Selenium(以下简称为 Selenium 1)并不是能够在浏览器中自动化功能测试的惟一工具。由 Simon Stewart(来自 Google)创建的 WebDrive

jiguanghoverli的专栏 1676

图像特征(一)——颜色特征(颜色直方图,颜色矩,颜色集,颜色聚合向量和颜色相关图)

本文主要是为了更好地理解图像特征,理解各方法的原理。转载请注明出处https://mp.csdn.net/console/editor/html/105090183 图像模式识别的一般步骤为:输入图像--图像预处理--特征提取--特征选择--图像分类--输出结果。 图像特征主要有:颜色特征、形状特征、纹理特征和空间关系特征。 本文主要介绍颜色特征,并给出matlab上实现的demo。 颜...

gloria_iris的博客 3万+

保姆级教程:用Java和HslCommunication库搞定三菱PLC数据读写(附完整代码)

本文提供了一份详细的Java与三菱PLC通信教程,通过HslCommunication库实现高效数据读写。内容涵盖环境配置、通信模式选择、数据类型操作、异常处理及性能优化,并附有完整代码示例,帮助开发者快速掌握工业自动化中的PLC数据交互技术。

weixin_28731223的博客 227

【记录】Excel VBA|(三)VBA使用Selenium自动登录网页

安装,以及简单的使用方式。

shandianchengzi的博客 1万+

PID控制参数整定(调节方法)原理+图示+MATLAB调试

序 首先最重要的是了解每个参数调节了系统响应的那些属性,通过观察响应从而调节参数改变属性。 PID的作用概述: 1、P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础。 2、I在有系统误差和外力作用时消除偏差、提高精度,同时也会增加响应速度,产生过冲,过大会产生振荡。 3、D抑制过冲和振荡,过小系统会过冲,过大会减慢响应速度。D的另外一个作用是抵抗外界的突发干扰,阻止系统的突变。 同时调节的顺序是:P>I>D 下面了解的一个很重要的就是调节的目标,也就是最好的响应曲线.

viafcccy的博客 16万+

【亲测免费】 探索自动化新边界:SeleniumBasic

在数字化时代的洪流中,自动化已成为提高效率的关键工具。`SeleniumBasic` 是一个专为VB.Net、Visual Basic Applications (VBA) 和 VBScript 设计的浏览器自动化框架,它将强大的 Selenium Web驱动程序集成到这些经典的编程环境中,让开发人员和非编码者都能轻松实现Web界面的自动化测试和操作。 ### 项目技术分析 `Selenium...

gitblog_00033的博客 809

机器视觉避坑指南:为什么你的Halcon划痕检测总漏检?(附优化方案)

本文深入剖析了Halcon在表面划痕检测中漏检率高的常见原因,如灰度值波动、噪声干扰及形态学参数设置不当。针对复杂背景与低对比度划痕,提出了超越官方例程的多尺度纹理分析与特征融合优化方案,旨在帮助开发者构建更鲁棒、稳定的机器视觉检测流程,有效提升检出率。

weixin_29057163的博客 234

【LAMMPS学习】八、基础知识(4.5)TIP5P水模型

​ 五点 TIP5P 刚性水模型通过添加两个通常无质量的附加位点 L 来扩展three-point TIP3P model,其中放置与氧原子相关的电荷。这些位点 L 位于距氧原子固定距离处,形成从 HOH 平面旋转 90 度的四面角。因此,这些位点在某种程度上近似于氧的孤对,从而改善了水结构,与four-point TIP4P model相比变得更加“四面体”。

荷塘阅色 1421

selenium 入门_Selenium2入门

存档日期:2019年4月18日 | 首次发布:2012年3月6日 Selenium是用于功能测试的著名的Web应用程序测试框架。 新版本Selenium 2融合了Selenium 1和WebDriver(与Selenium并行的项目)的最佳功能。 在本文中,将学习如何轻松地从Selenium 1过渡到Selenium2。示例展示了如何使用Selenium 2,如何进行远程测试以及如何将书面...

cuyi7076的博客 124

AIGC游戏本地化:用AI实现多语言自动翻译

游戏本地化是游戏全球化战略的关键环节,传统人工翻译方式成本高、周期长。本文旨在探讨如何利用AIGC技术实现高效、准确、低成本的游戏多语言自动翻译解决方案。我们将覆盖从文本翻译到语音合成的完整本地化流程,重点关注AI技术在游戏特定语境下的应用优化。文章首先介绍游戏本地化的核心挑战和AI解决方案,然后深入讲解关键技术原理,接着通过实战项目演示具体实现,最后讨论应用场景和未来趋势。AIGC:人工智能生成内容,指利用AI技术自动生成文本、图像、音频等内容本地化(Localization)

AI 领航者的博客 1337

Selenium2的入门学习

最近由于项目的需求进行了Selenium2的资料查找和学习,原本Selenium2是自动化测试组件,是搞测试用的,如今被俺们用来进行信息爬取。根本的原因在于普通的网页格式html静态的,不包含js和Ajax的,是可以通过httpclient,jsoup等java包进行网页的爬取和解析,但是遇到Ajax动态请求,和执行js的网页来说,爬取下来的也只能是head body之类的标签了。 因此,不知是

A_Abg的专栏 689

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

web自动化-selenium2入门讲解(mac版本)

最近要做一个selenium2的分享,于是总结了下我用selenium2的感受,希望分享出来,可以对入门的小伙伴有一点帮助,也希望得到大佬的指教 一,环境搭建maven+selenium2+testng Maven管理jar包 Testng管理测试用例 Selenium通过webdriver驱动浏览器 Chromedriver下载地址:https://chromedriver.st...

weixin_30375427的博客 133

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Selenium2 WebDriver入门

http://selenium-release.storage.googleapis.com/index.html

八白龙的专栏 1534

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

selenium2 入门

1.1  下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list   官方User Guide:http://seleniumhq.org/docs/ 1.2  用webdriver打开一个浏览器 我们常用的浏览器有firefox和IE两种,firefox是selenium支持得比较成熟的浏览器。但是做页面的...

低调的冲击波 121

Selenium2(webdirver)入门之五测试工程同步(Java版)

目的: 使用svn同步所有测试代码,方便代码共享 前提: 1.已安装maven(eclipse)自带,用户自动化下载jar,配置工程,可以右击看看能否建立maven工程,如果eclipse没有maven功能,点击Help -> Eclipse Marketplace,搜索maven安装 2.安装svn(有的eclispe版本自带,有的没有,用于代码同步),点击Window -> Show

yaommy的博客 480

selenium2.0 入门

1.1  下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方User Guide:http://seleniumhq.org/docs/ 1.2  用webdriver打开一个浏览器 我们常用的浏览器有firefox和IE两种,firefox是selenium支持得比较成熟的浏览器。但是做页面的测...

0与1的世界 204

Selenium2.0 WebDriver入门指南

1.1下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方User Guide:http://seleniumhq.org/docs/ 1.2用webdriver打开一个浏览器 我们常用的浏...

chengqinjian6893的博客 181

RobotFramework+Selenium2的入门与提高

###吴穹Robot Framework+Selenium2/WebDriver内容摘要### 一.基本概念 二.安装 三.创建测试用例       1.创建测试项目       2.创建测试套       3.创建测试用例       4.添加测试库       5.添加资源       6.增加自定义关键词       7.在测试用例里面引用资源       8.引用自定

心系旭阳 1475

Selenium入门之基础案例-2

1、登录163邮箱,模拟用户自动发送邮件 from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait # 等待页面加载某些元素 from selenium.webdriver.support import expected_conditions as EC from sele...

338

selenium2入门

[url]http://code.google.com/p/selenium/[/url]是开源的自动化测试框架,支撑主流的所有的游览器,支持多语言开发, 要使用selenium2的pom依赖如下 [code="xml"] org.seleniumhq.selenium selenium-chrome-driver ...

yangzx 143

2.selenium入门

  2.1.简单用法   如果你已经安装了Selenium Python绑定,你可以像这样从Python开始使用它。 from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() driver.get("http://www.pyth...

gaimechen的博客 253
上一篇: 简化Kubernetes应用部署工具-Helm安装
下一篇: 在做自动化测试之前你需要知道的
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值