如何在UI自动化中捕获响应数据
我正在使用WebDriverIO
的UI自动化,我正在尝试自动login页面。
当我点击Login
button时, *.com/user/login
请求会在后台触发。 在这里,我想捕获*.com/user/login
调用响应,因为我必须从响应中获取令牌才能继续下一个testing用例。
谁能帮帮我吗?
提前致谢!
使用BrowserMob
, selenium server
和下面的代码捕获networkingstream量。 有关更多详细信息,请参阅我的答案。 然后parsingstuff.har
,得到想要的结果。 Har
文件是json格式。
var Proxy = require('browsermob-proxy').Proxy , webdriverio = require("./node_modules/webdriverio/") , fs = require('fs') , proxy = new Proxy() ; proxy.cbHAR('webdriver.io', doSeleniumStuff, function(err, data) { if (err) { console.error('ERR: ' + err); } else { fs.writeFileSync('stuff.har', data, 'utf8'); } }); function doSeleniumStuff(proxy, cb) { var browser = webdriverio.remote({ host: 'localhost' , port: 4444 , desiredCapabilities: { browserName: 'firefox', seleniumProtocol: 'WebDriver', proxy: { httpProxy: proxy } } }); browser .init() .url("http://webdriver.io") //.setValue("#yschsp", "javascript") //.submitForm("#sf") .end().then(cb); }