рдпрд╣рд╛рдБ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ (рд╕реНрд╡реАрдХреГрддрд┐) рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХрд╣рд╛рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдХреЗрдВрдЯ рдмреЗрдХ рдиреЗ рдЦреБрдж рдЗрд╕ рддрд░рд╣ рдХреА рд╢рд╛рдВрдд рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ рдЬреИрд╕реЗ рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгред рдЦреИрд░, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдЖрдо рддреМрд░ рдкрд░ рдЖрдзреБрдирд┐рдХ рдлреБрд░реНрддреАрд▓реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рддрдХрдиреАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ tidbit рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рд╕реНрдХреНрд░рдо - "рдбреЗрдореЛ" рдХрд╛ рдЕрднреНрдпрд╛рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЙрддреНрдкрд╛рдж рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмреЗрд╢рдХ, рдореИрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЪреБрд╕реНрдд рд╡реНрдпрд╡рд╕рд╛рдпреА рдирд╣реАрдВ рд╣реВрдВ, рдФрд░ рдореИрдВрдиреЗ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рдЬрд╛рд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ - рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЗрд╕ рдЦрдВрдб рдореЗрдВ рдкрд╣рд▓реЗ рд╕рдм рдХреБрдЫ рдЪреЛрдЯ рд▓рдЧреА рдереАред рд▓реЗрдХрд┐рди 5 рд╕рд╛рд▓ рдореЗрдВ рдЬреЛ рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рд╣реА рдмрд╛рд░ рдРрд╕реЗ рд╢рдмреНрдж рд╕реБрдиреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг, рд╕реЗрд▓реЗрдирд┐рдпрдо рдФрд░ рдореИрдВрдиреЗ рдХрднреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЧреАрддрд╛рддреНрдордХ рдкрд░рд┐рдЪрдп рдкрд░ рд▓реМрдЯрддреЗ рд╣реБрдП, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЙрд▓реЛрд╕реНрд╕реЗрд▓ рдЧреБрдгрд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдЖред рдФрд░ рдПрдХ рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЗрд╡рд▓ рдЖрд▓рд╕реА рд╡реНрдпрдХреНрддрд┐ рдЕрдкрдиреЗ рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖ рдерд╛? рдореИрдВрдиреЗ рд╕реНрдкреНрд░рд┐рдВрдЧреНрд╕рд╕реЛрд░реНрд╕ рдмреНрд▓реЙрдЧ RSS рдлрд╝реАрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рдФрд░ рдПрдХ рдмрд╛рд░ рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреЗрдЪреАрджрд╛ рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде рдПрдХ рд▓реЗрдЦ рдорд┐рд▓рд╛ - рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╡реЗрдм рдкрд░реАрдХреНрд╖рдг рдХрд╛ рднрд╡рд┐рд╖реНрдп? ред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЧреЗрдм рдПрдВрдб рд╕реНрдкреЙрдХ рдЯреВрд▓реНрд╕ рдиреЗ рдореБрдЭреЗ рдЕрдЪрдВрднрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдЧреЗ, рдореИрдВ рдЧреНрд░рд╛рдлреЛрдореЗрдирд┐рдпрд╛ рдХреЗ рд╣рдорд▓реЗ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ
рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рд╕реНрдерд╛рдкрдирд╛
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:
- JDK 1.6 рдпрд╛ рдЙрдЪреНрдЪрддрд░, рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- рдорд╛рд╡реЗрди 2.2.1, рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ , рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢
рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг
рдпрд╣ рдЦрдВрдб рдПрдХ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЧрд╛ред
рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдЧрд╛:
- рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕рд╛рдЗрдЯ рджрд░реНрдЬ рдХрд░реЗрдВ
- "рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг" рдХреА рдЦреЛрдЬ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░реЗрдВ
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкреГрд╖реНрда рдкрд░ рдкрд╣реБрдВрдЪреЗ
(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреЗрдЬ рд▓рд╛рдЗрди рдХреЗ рдкрд╛рда рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВрдЧреЗ "рдпрд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрд░реАрдХреНрд╖рдг рд╣реИ")
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

pom.xml - рдорд╛рд╡реЗрди рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рд╡рд░рдг рдлрд╝рд╛рдЗрд▓
simplefunctest - рдПрдХ рдкреИрдХреЗрдЬ рдЬрд┐рд╕рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдПрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рдПрдВрдЧреА
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреЗрд╕реНрдЯ
package my.tests.simplefunctest
import geb.spock.GebSpec
class MyFirstSpec extends GebSpec {
def "test search functional testing wiki page" () {
given: "we are at main wiki page"
to MainWikiPage
when : "try to search functional testing page"
searchField.value( " " )
searchButton.click()
then : "check we are on functional testing page"
at FunctionalTestingWikiPage
}
}
* This source code was highlighted with Source Code Highlighter .
рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?
- рд╣рдо рдЕрдкрдиреЗ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ, рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рдЧреЗрдмрд╕реНрдкреЗрдХ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред (рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдмреАрдбреАрдбреА рд╢рдмреНрджрд╛рд╡рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рддреН рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдЖрджрд┐, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдФрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреВрдБрдЧрд╛ред
class MyFirstSpec extends GebSpec { ... }
* This source code was highlighted with Source Code Highlighter .
- рд╣рдо рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдкрд░ рдПрдХ рдкреГрд╖реНрда рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╡рд┐рд╡рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ
def "test search functional testing wiki page" () { ... }
* This source code was highlighted with Source Code Highlighter .
- рд╣рдо рдЦреБрдж рдХреЛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдкрд╛рддреЗ рд╣реИрдВ
given: "we are at main wiki page"
to MainWikiPage
* This source code was highlighted with Source Code Highlighter .
- рд╣рдо рдЦреЛрдЬ рдлрд╝реАрд▓реНрдб рдореЗрдВ "рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг" рд╡рд╛рдХреНрдпрд╛рдВрд╢ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЦреЛрдЬ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ
when : "try to search functional testing page"
searchField.value( " " )
searchButton.click()
* This source code was highlighted with Source Code Highlighter .
- рдлрд┐рд░ рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдкрд░ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда рдкрд░ рд╣реИрдВ
then : "check we are on functional testing page"
at FunctionalTestingWikiPage
* This source code was highlighted with Source Code Highlighter .
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХрд╛ рд╡рд┐рд╡рд░рдг
package my.tests.simplefunctest
import geb.Page
class MainWikiPage extends Page {
static url = "http://ru.wikipedia.org/"
static at = {title == " тАФ " }
static content = {
searchField { $( "input" , id: "searchInput" )}
searchButton ( to : FunctionalTestingWikiPage) { $( "button" , id: "searchButton" )}
}
}
* This source code was highlighted with Source Code Highlighter .
рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?
- рд╣рдо рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдкреГрд╖реНрда рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ
class MainWikiPage extends Page { ... }
* This source code was highlighted with Source Code Highlighter .
- рдкреГрд╖реНрда рдХрд╛ URL рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (рдЖрд╡рд╢реНрдпрдХ, рдЪреВрдВрдХрд┐ рдкрд░реАрдХреНрд╖рдг рдЗрд╕ рдкреГрд╖реНрда рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ)
static url = "http://ru.wikipedia.org/"
* This source code was highlighted with Source Code Highlighter .
- рд╣рдо рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдкреГрд╖реНрда рдкрд░ рд╣реИрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╢реАрд░реНрд╖рдХ "рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ - рдореБрдХреНрдд рд╡рд┐рд╢реНрд╡рдХреЛрд╢" рд╣реИ)
static at = {title == " тАФ " }
* This source code was highlighted with Source Code Highlighter .
- рд╣рдо рдкреГрд╖реНрда рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛрдиреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рдЦреЛрдЬ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рд╣реИ рдФрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдЯрди рд╣реИ (рджреЛрдиреЛрдВ рддрддреНрд╡ рдЯреИрдЧ рдФрд░ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдорд┐рд▓реЗрдВрдЧреЗ)) ( $ () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рджреЗрдЦреЗрдВ)
static content = {
searchField { $( "input" , id: "searchInput" )}
searchButton ( to : FunctionalTestingWikiPage) { $( "button" , id: "searchButton" )}
}
* This source code was highlighted with Source Code Highlighter .
рдкрд░рд┐рдгрд╛рдо рдкреГрд╖реНрда рд╡рд┐рд╡рд░рдг рдЦреЛрдЬреЗрдВ
package my.tests.simplefunctest
import geb.Page
class FunctionalTestingWikiPage extends Page {
static at = { $().text().contains( " " ) }
}
* This source code was highlighted with Source Code Highlighter .
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░реЛ
рдЕрдм рдЪрд▓реЛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рднрд╛рдЧ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рднреА рдиреЗ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рддреН, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдПред
рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░, рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
mvn clean test
* This source code was highlighted with Source Code Highlighter .
рдмрд┐рдВрдЧреЛ! рдлрд╝рд╛рдпрд░реНрдлрд╝реЙрдХреНрд╕ рдЖрдкрдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╣ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рдкреВрд░рд╛ (рдЖрдкрдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ (>)) рдЬреЛ рд╣рдордиреЗ рдЗрд░рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред
рд╢рд╛рдпрдж рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдЖрдк IE рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ):
mvn clean test
* This source code was highlighted with Source Code Highlighter .
рдпрд╛ рд╢рд╛рдпрдж рдХреНрд░реЛрдо рдореЗрдВ:
mvn clean test -P chrome
* This source code was highlighted with Source Code Highlighter .
рдирд┐рд╖реНрдХрд░реНрд╖
рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдпрд╛ рдЖрдк рдкрд░ рдмреЛрдЭ рдирд╣реАрдВ рдбрд╛рд▓реВрдВрдЧрд╛ - рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рднрдВрдбрд╛рд░ рд╕реЗ рдЪреБрдиреЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЖрдЬрд╝рдорд╛рдПрдВред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд┐рдВрдХ
- рд▓реЗрдЦ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╡реЗрдм рдкрд░реАрдХреНрд╖рдг рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛?
- Geb рдкрд░ рднрд╡реНрдп рдореИрдиреБрдЕрд▓: Geb рдХреА рдкреБрд╕реНрддрдХ
- рдорд╛рд░реНрдХрдореЗрд▓ рдкрд░ Geb рджреНрд╡рд╛рд░рд╛ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рдЕрд╕рд╛рдорд╛рдиреНрдп рдкрдардиреАрдпрддрд╛
- рдПрд╕рд╡реАрдПрди рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА
- рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Geb рд╡реЗрдмрд╕рд╛рдЗрдЯ
- рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрдкреЙрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ
- рдХрдВрд╕реЛрд▓ рд╕реНрдкреЙрдХ рд╡реЗрдм рдХрдВрд╕реЛрд▓ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓