原文:CrazyFunBuild
WebDriver
是一个庞大的工程。如果我们试着把所有的东西都放在一个单独的构建文件里,它最终会变得难于管理。我们知道会这样。因为我们已经尝试过了。所以我们把单独的
Rakefile
分成一系列
build.desc
文件。它们描述构建的一部分。
让我们看一个
build.desc
文件。这是测试主要的
build.desc
部分:
java_test(name = "single",
srcs = [
"SingleTestSuite.java",
],
deps = [
":tests",
"//java/server/src/org/openqa/selenium/server",
"//java/client/test/org/openqa/selenium/v1:selenium-backed-webdriver-test",
"//java/client/test/org/openqa/selenium/firefox:test",
] ])
它突出了大部分关键思想。首先,它声明了
target,
在这种情况下有一个单独的
java_test target.
每一个
target
有一个
name
属性。
Target Names
Build.desc
文件的位置和名字相结合用来产生
rake
任务。所有的任务名字是以“
//
”为前辍,后面跟前所包含的
build.desc
文件相对于
Rakefile
的目录路径,然后是一个“:”,最后是
build.desc
里面
target
的名字。看一个例子就很容易理解:)
由此
产生的
rake
任务例子
//java/client/test/org/openqa/selenium:single
简写 Target Names
作为一种快捷方式,如果一个
target
是以包涵在
build.desc
文件的目录命名的,你可以省略
rake
任务名字冒号后
面
的部分。这样
//java/server/src/org/openqa/selenium/server
等同于
//java/server/src/org/openqa/selenium/server:server
.
隐含的Targets
构建规则支持隐含的
targets,
并提供正常构建
target
一个相关的扩展。例子包括生成源代码的档案,或者运行测试。这些通过附加一个冒号和隐含的
target
的名字给构建规则的全称而得到声明。这样我们可以使用
"//java/client/test/org/openqa/selenium:single:run"
来运行
tests
。
下面
描述的每一个规则都有一个和他们相关的隐含
target.
Outputs
每一个
target
在“
build.desc
”文件中指定只生成一个唯一的输出。这很重要。请注意它。一般,所有的输出文件以对应的任务名被放在
build
目录下。如:
"//java/org/openqa/selenium/server"
会以这样输出
"build/java/org/openqa/selenium/server.jar"
。
构
建规则应该输出名字和它们生成文件的位置。
Dependencies
看一下在上面“
single
”
target
里的“
deps
”部分。“
tests
”是指在当前“
build.desc
”文件下的一个
target,
在这种情况下,它是指上面的“
java_library
”。你可以看出它将涉及多个全路径。例如
"//java/server/src/org/openqa/selenium/server"
这涉及在一个crazy fun build.desc
文件里
面的
另一个target
。
Browsers
Py_test
和js_test
规则对多浏览器运行相同的tests
有特殊的处理。相关的特殊浏览器meta
信息放在
rake-tasks/browsers.rb
中。一般在
target
名字后追加
_browsename
(浏览器名字)来使用它
;
如果没有
_browsename
后辍,那
tests
将在所有浏览器中运行。
举个例子,如果我们有一个
js_test
规则
//foo/bar,
我们将通过
target //foo/bar_ff:run
在
firefox
中运行或者我们可以通过
target
//foo/bar:run
对所有浏览器有效。
Build Targets
一个你能使用的有效
targets
简单描述。
Common Attributes
所有构建
target
都需要下面属性
属性名字
|
类型
|
含意
|
Name
|
string
|
用来生成
rake target
和(常常)产生目录的名字
|
常用属性
属性名字
|
类型
|
含意
|
Srcs
|
array
|
为这一
target
而构建原始代码
|
Deps
|
array
|
这一
target
的先决条件
|
java_library
l
Output:
如果“
srcs
”属性文件被设置,
JAR
文件以“
name
”属性被命名。
l
隐含
Targets:
run
(
如果
"main"
属性指定
), project, project-srcs, uber, zip
l
必须的
Attributes:
“
name
”并至少有一个
"srcs"
或
"deps"
java_test
属性名称
|
类型
|
含意
|
Deps
|
Array
|
同上
|
Srcs
|
Array
|
同上
|
Resources
|
Array
|
|
|
|
|
....(下面的和上面的都差不多就不译了,:P)
分享到:
相关推荐
1.10 selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 . . . . . . . . . . .31 1.11 selenium webdriver学习(十一)------------如何等待页面元素加载完成 . . . . . . . . . . . . ...
在这个“ruby+selenium-webdriver测试--第一个例子源代码”中,我们将探讨如何使用Ruby和Selenium-Webdriver实现自动化测试的初步步骤。 首先,我们需要安装必要的库。确保已经安装了Ruby,并通过RubyGems来安装...
WebtestRecorder插件是一款强大的自动化测试工具,专为Java开发者设计,它利用Selenium WebDriver库来简化Web应用程序的脚本录制和回放过程。这款工具极大地提升了测试效率,特别是对于那些需要频繁进行UI自动化测试...
描述中的内容是空的,但我们可以基于标题推断,这个压缩包可能包含了运行 Selenium Server Standalone 所需的文件。Selenium Server Standalone 提供了一个中心化的服务,可以接收和转发来自客户端(如 WebDriver)...
标题 "selenium-java-4.0.0-alpha-6_javaselenium_" 指的是 Selenium 的一个 Java 版本的软件包,具体是 4.0.0 的第六个 Alpha 版本。Selenium 是一个广泛使用的自动化测试工具,主要用于 web 应用程序的测试。它...
通过运行这个文件,你可以启动Selenium服务器,并通过WebDriver API或者旧的RC接口与之交互,执行自动化测试。 3. **selenium-java-2.40.0-srcs.jar**: 这个文件包含了Selenium Java客户端驱动的源代码。这对于...
selenium-webdriver原创selenium-webdriver原创selenium-webdriver原创selenium-webdriver原创
Selenium.WebDriver.4.0.0-alpha02.nupkg,Selenium.WebDriver 4.0,Selenium is a set of different software tools each with a different approach to supporting browser automation. These tools are highly ...
selenium-server-standalone-2.53.1.jar用于支持selenium webdriver的开发,也可用于分布式测试连接
首先,我们来了解一下 `selenium-java-2.44.0.jar`。这是一个预编译的Java库,其中包含了Selenium WebDriver的Java绑定。WebDriver是Selenium的一个核心部分,它提供了一个编程接口,允许测试脚本直接控制浏览器。...
本书是一本从入门到精通模式的Selenium WebDriver实战经验分享书籍。全书共分为四个部分:第1部分基础篇主要讲解自动化测试相关的基础理论、WebDriver 环境安装、单元测试工具的使用方法以及 WebDrvier的入门使用...
"selenium+webdriver学习文档" 本文档主要介绍了使用 Selenium+WebDriver 进行自动化测试的学习方法,从基础到精通的学习方法。下面我们将对标题、描述、标签和部分内容进行详细的解释。 标题:selenium+webdriver...
总结起来,"selenium-server-standalone-2.45.0" 和 "selenium-java-2.45.0(含srcs)" 提供了Selenium的核心组件,支持Java环境下的WebDriver自动化测试,同时包含了源码以便于深入学习和定制。它们是Web应用自动化...
通过深入研究这个压缩包中的代码示例,学习者不仅可以理解Selenium WebDriver的工作原理,还能掌握如何在实际项目中应用这些知识,提升自动化测试的技能。同时,这也有助于理解和调试测试脚本,解决在自动化测试过程...
selenium-server-standalone-2.44.0, selenium最新服务器,
【标题】"selenium webdriver+chrome插件.zip" 涉及的核心知识点是Selenium WebDriver,特别是它在Chrome浏览器中的应用以及与Firefox的交互。这个压缩包包含了Selenium IDE的Chrome插件,以及对应的WebDriver驱动...
"selenium-server-standalone-3.9.1.rar" 文件包含了Selenium Grid 的独立服务器版本,适用于3.9.1这个高版本。Selenium Grid 是Selenium工具集中的一个重要组成部分,它允许我们进行分布式自动化测试,提高测试效率...
Selenium-Webdriver是Selenium项目的一部分,它提供了与多种浏览器(如Chrome、Firefox、Edge等)的接口,使我们能够在实际的浏览器环境中运行自动化测试。在Ruby中,我们需要先安装`selenium-webdriver`库,可以...