我正在为用PHP编写的旧bojankity系统编写Behat测试。它似乎适用于许多测试用例。但是我遇到了一个奇怪的问题。
我有Behat登录并导航到搜索表单页面。然后通过选择几个下拉菜单并填写文本字段来填写表单。然后单击搜索按钮(请记住,按钮和某些下拉菜单附加了一些JS操作)。所有这些操作都通过了,但在我运行后的下一步'然后我按“搜索”'我收到以下错误/消息:
Then I wait five seconds # FeatureContext::iWaitFiveSeconds()
Modal dialog present
Build info: version: '2.32.0', revision: '6c40c18', time: '2013-04-09 17:22:56'
System info: os.name: 'Linux', os.arch: 'i386', os.version: '3.5.0-31-generic', java.version: '1.6.0_43'
Session ID: 13badfa6-9847-4db4-901f-fcfde797df92
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{platform=LINUX, acceptSslCerts=true, javascriptEnabled=true, browserName=firefox, rotatable=false, locationContextEnabled=true, version=21.0, cssSelectorsEnabled=true, databaseEnabled=true, handlesAlerts=true, browserConnectionEnabled=true, nativeEvents=false, webStorageEnabled=true, applicationCacheEnabled=true, takesScreenshot=true}]
这是通过Selenium 2驱动程序运行的。这里提到的上下文函数只是一个JS等待调用。我在几个地方使用它和它的变化。当我在此时做其他事情而不是等待时,例如检查页面上的某些文本,就会发生同样的事情。
知道可能会发生什么吗?顺便说一下,这是一个内部Web应用程序,所以没有我可以给出的URL。我还应该补充一点,我在Ubuntu 12.10上使用PHP 5.3运行它。
谢谢!
答案 0 :(得分:1)
这可能是由于AJAX调用混乱了测试流程造成的。确保在前面的场景中为你的AJAX请求留出足够的时间来完成。
最佳