рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдореБрджреНрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ (рдпреЗ рдореБрджреНрджреЗ рд╕рдорд╛рди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рдмрдВрдж рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ):
рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА:
рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛:
e2e.conf.coffee
): Copied from https://github.com/angular/protractor/blob/master/docs/referenceConf.js
exports.config =
seleniumServerJar: null
seleniumPort: null
seleniumArgs: []
chromeOnly: true
seleniumAddress: null
sauceUser: null
sauceKey: null
sauceSeleniumAddress: null
specs: ["e2e/*.coffee"]
exclude: []
capabilities:
browserName: "chrome"
count: 1
shardTestFiles: false
maxInstances: 1
multiCapabilities: []
maxSessions: -1
baseUrl: "http://localhost:8081"
rootElement: "body"
allScriptsTimeout: 11000
getPageTimeout: 10000
framework: "jasmine"
jasmineNodeOpts:
isVerbose: true
showColors: true
includeStackTrace: true
defaultTimeoutInterval: 30000
e2e/spec.coffee
рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд▓реНрдкрдирд╛ рдмрдирд╛рдПрдБ describe 'Page', () ->
it 'should debug properly', () ->
browser.get '/'
x = 'There is only X'
y = 1
z = ++y
browser.debugger()
protractor debug e2e.conf.coffee
рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо:
repl
рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рд╕реНрдерд╛рдиреАрдп рджрд╛рдпрд░реЗ рдореЗрдВ рдЪрд░ рд╕реБрд▓рдн рд╣реЛрддреЗ рд╣реИрдВрдкрд░рд┐рдгрд╛рдо:
рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ timers.js
рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ browser
рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдХрд┐рд╕реА рднреА рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
protractor debug src/test/e2e.conf.coffee
Using ChromeDriver directly...
Hit SIGUSR1 - starting debugger agent.
debugger listening on port 5858
connecting... ok
break in timers.js:79
77 }
78
79 function listOnTimeout() {
80 var msecs = this.msecs;
81 var list = this;
debug> repl
Press Ctrl + C to leave debug repl
> x
ReferenceError: x is not defined
> y
ReferenceError: y is not defined
> z
ReferenceError: z is not defined
> browser
{ controlFlow: [Function],
schedule: [Function],
getSession: [Function],
getCapabilities: [Function],
quit: [Function],
...
}
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рднреНрд░рдорд┐рдд рдХреНрдпреЛрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд░рд╛рджрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред browser.debugger
рдЖрдкрдХреЗ рдЦрдВрдб рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд░реБрдХ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП x, y рдФрд░ z рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
browser.debugger
рдЙрдЬрд╛рдЧрд░ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рд╣рдо рдЗрд╕реЗ рдХрдорд╛рдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмреАрдЪ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЖрдк рдЕрднреА рднреА рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ debugger
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --debug
рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рдбрд┐рдмрдЧрд░ рдФрд░ рдбрд┐рдбрдмрдЧрд░ рдХреЛ --debug рдлреНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдХреЛрдИ рд░реЛрдХ рдирд╣реАрдВ рд╣реИред : - /
рдКрдкрд░ рджрд┐рдП рдЧрдП browser.debugger () рдореЛрдб рдХреЗ рдмрд╛рдж рд╣реЗрдХ рдХреНрдпрд╛ рд╣реИ? рдпрджрд┐ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдбрд┐рдмрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ ...
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдКрдкрд░ рджрд┐рдП рдЧрдП browser.debugger () рдореЛрдб рдХреЗ рдмрд╛рдж рд╣реЗрдХ рдХреНрдпрд╛ рд╣реИ? рдпрджрд┐ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдбрд┐рдмрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ ...