0

我正在为一个用 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 等待调用。我在几个地方使用它和它的变体。当我此时做其他事情而不是等待时,也会发生同样的事情,例如检查页面上的某些文本。

知道会发生什么吗?顺便说一句,这是一个内部网络应用程序,所以我无法提供任何 URL。我还应该补充一点,我正在使用 PHP 5.3 的 Ubuntu 12.10 上运行它。

谢谢!

4

1 回答 1

1

这可能是由于 AJAX 调用扰乱了测试流程造成的。确保在前面的场景中为 AJAX 请求提供足够的时间来完成。

最好的

于 2013-08-08T18:35:22.493 回答