我想知道如何使用Selenium.captureNetworkTraffic捕获HTTP请求,然后解析出一个值以传递查询字符串。
启动测试中的应用程序后会生成一个UniqueID。此信息未显示给用户的URL。
我需要捕获唯一ID,然后将其传递给查询字符串以完成一系列请求。例如,我需要在网络流量中捕获Example123,然后解析数据并将其包含在其他查询字符串中
http://www/UnqiueID=EXAMPLE123&xxx=2&xxx=
我看过http://www.eviltester.com/index.php/2010/05/26/a-selenium-capturenetworktraffic-example-in-java/,但这似乎集中在页面大小,链接等方面。
答案 0 :(得分:1)
不要误导David Burns和Corey Goldberg对captureNetworkTraffic
界面的具体使用 - 它可能只是你所需要的。它们总结了事务的某些属性,但接口实际上返回了所有响应头,其中一个可能包含您要查找的内容。 Selenium服务器返回的实际数据如下所示(大部分从the source code解除):
[
{
statusCode: 200,
method: 'GET',
url: 'http://foo.com/index.html',
bytes: 12422,
start: '2009-03-15T14:23:00.000-0700',
end: '2009-03-15T14:23:00.102-0700',
timeInMillis: 102,
requestHeaders: [
{
name: 'Foo',
value: 'Bar'
},
{
name: 'Name2',
value: 'Value2'
},
...
],
responseHeaders: [
{
name: 'Baz',
value: 'Blah'
},
{
name: 'Name3',
value: 'Value3'
},
...
]
},
{
...
},
...
]
也就是说,您想要的值可能是在cookie中提供给浏览器,您可以使用getCookieByName
命令更轻松地从Selenium中检索。