2012-04-23 55 views
0

我有一个测试形式的Web服务:如何使用Selenium IDE来验证Web服务测试的形式响应

enter image description here

我要测试的Web服务和验证响应,但响应在新打开窗口。有什么方法可以使用Selenium IDE检查新打开的窗口中的输出吗?

更新:web服务测试表单执行POST,target =“_ blank”这会导致响应被加载到Firefox中的新选项卡中。来自webservice的响应是一个xml文档,所以许多依赖于HTML文档的标准Selenium IDE命令将不起作用。我找到了assertTextPresentXML扩展名,但我无法选择新打开的选项卡,因为它没有我可以访问的名称,标识或标题。

回答

2

可以使用selectWindow命令并指定新打开的窗口的标题(如果此标题从初始窗口不同):

selectWindow | title=New window title 

名称可以从HTML>头>标题进行检索。如果不工作,你可以尝试这样的事情:

getEval | selenium.browserbot.findElement('locator_of_invoke_button').target='my_window' 
getEval | window.open("", "my_window") 
click | locator_of_invoke_button 
selectWindow | my_window 
waitForElementPresent | locator_of_element_at_new_window 
+0

感谢ALEH,这是一个Web服务请求和响应是一个XML文档,所以没有标题。另外,测试表单会执行一个带有** target =“_ blank”**的POST。 – 2012-04-24 00:25:39

+0

@DavidClarke - 你可以指定** target =“my_window”**而不是_blank,其中'my_window'是你给新窗口的名字。请尝试我的第二个建议 – 2012-04-24 00:51:08

+0

实际上不是,表单由webservice生成,无法修改。我能想到的唯一解决方案是创建一个HTML文件,封装生成的表单并将其更新为在同一页面中的新框架中打开响应。 – 2012-04-24 01:01:22