lamuda 发表于 2010-3-2 13:06:27

Selenium RC每次运行都要启动新的browser吗?

如题,可不可以像QTP一样,run from step或者至少在当前打开的页面继续进行也行啊,每次用run as junit都要重新启动browser,太慢了。。。。

Eric_Lee 发表于 2010-3-2 13:48:09

我的理解是,基本上一个浏览器窗口就是一个Session ID,如果你新建一个Session ID就肯定需要使用新的窗口了

park_p 发表于 2010-3-2 14:11:51

这个每次启动browser与你的junit的有关,如果是junit3.8的话,建议你查看junit的运行机制。用junit4以后的版本可以解决你的问题,当你看清楚junit这个框架怎么运行的你的问题就自然解决了。

park_p 发表于 2010-3-2 14:14:27

补充下:
TestNG是个很不错的开源工具,作用与junit4同,但是比它更好,因为junit4的很多特性是学NG的,所以你可以直接试验TestNG来作为你问题的解。
不过我没用过NG,俺用的还是ju4.6

lamuda 发表于 2010-3-2 22:40:00

我猜park_p的意思是如果我在junit的setup里头把打开browser的动作去掉,那么run as junit的时候就可以在现有的browser上运行了,对吗?

park_p 发表于 2010-3-3 08:56:17

回复 5# 的帖子

junit3或3.8在每次调用测试方法时,本身就是把测试对象每次启动一个新实例,所以你用其是不可以达到你想要的结果。可以看它的工作流程就知道了。junit4以上版本可以解决你的问题,也是看流程就清楚了。
你可以简单的理解为browser是跟一个selenium对象关联的。

lamuda 发表于 2010-3-3 23:16:18

我用的是junit4以上的版本,可是就像你说的一个browser对应一个selenium对象,那么每次运行都会有个新的selenium对象,就必然要开启一个新的browser。。。

park_p 发表于 2010-3-4 09:01:58

为什么“每次运行都会有个新的selenium对象”实例?
你们的测试有这样的要求么?

lamuda 发表于 2010-3-4 22:27:39

setup里头是一些启动browser的操作,testXXX()里头是一些selenium的UI操作,如果我run as junit,必然会调用setup先,可不就是要启动browser了?

park_p要不然你提供一段伪代码看看怎么能不启动browser就可以run?

park_p 发表于 2010-3-5 08:57:26

“我用的是junit4以上的版本”
你用了junit4了,还用问我~~
提示你下,junit4用的是标签方法指示,不是在用testXXXXXX()的方式了。你这样的用法还是junit3的。
页: [1]
查看完整版本: Selenium RC每次运行都要启动新的browser吗?