硒IDE在浏览器,这是再正常不过你可以在运行任何一步。但是,如果您的cookies已过期,则必须重新进行测试。这不是Selenium问题,它是网站的工作方式。 在您的测试中,如果您的案例涉及到athent进程,您必须始终从头开始,除非您设法对您的cookie进行良好控制。
您可以随时做出快速HTTP调用到要与HTTPClient
例如连接到网站,只是为了让饼干回来,然后在webdriver的东西使用它像
driver.manage().addCookie(new Cookie("foo", "bar", "www.domain.com", "/", null));
然后去您需要的页面。请注意,此解决方案只解决了AUTHENT问题,不控制测试web应用的状态(数据以前发布的,等...)。
在我们公司,我们广泛使用硒,并且依靠它进行大量测试,因此这是一个我们知道的问题,我们意识到它可能造成的沮丧。
我们用一个非常不同的解决方案来获得测试生产力提升。 实际上,我们使用的是基于Groovy Shell
的解决方案,它允许我们在开发测试的同时来回打开浏览器。 Groovy
是一个JVM脚本语言,对Java开发者来说非常简单(几乎所有的Java代码都是有效的Groovy代码),而且它确实是动态的。
所以你可以下载groovy,运行groovy shell(groovysh
是命令),然后逐行启动并与浏览器交互xhile,你的代码保存到缓冲区。完成测试后,导出代码并将其放入Eclipse中。这比每次重新开始都要快。魔纹与硒开始是
groovy.grape.Grape.grab(autoDownload: true, group : 'org.seleniumhq.selenium', module : 'selenium-firefox-driver', version : '2.37.1')
import org.openqa.selenium.*
import org.openqa.selenium.firefox.*
driver = new FirefoxDriver()
driver.get("http://my-website.com")
从这一点来说,浏览器窗口始终是敞开的,而你在Groovy(或Java)的权利发展。它就像一个selenium-ide,但在groovy中,可以集成到你的开发工作流程中(但是有一些工作要做) 这个例子适用于Firefox(你可能已经猜到了;-)),但你可以只要你喜欢就适应它。我们从中构建了一堆工具来快速迭代开发我们的测试。我们发现这是一个伟大的救世主。
我没有在我的eclipse中安装任何硒服务器 – samash
使用Eclipse我不认为你有任何选择。它将始终从步骤1运行。 –
如果没有选择,那么真的很难做到与webdriver自动化。我不能相信它... – samash