ajax - CasperJS 似乎没有发送我所有的 POST 请求

标签 ajax apache testing phantomjs casperjs

我们正在编写一个自动化测试套件来测试我们实时网站上的表单。但似乎 - 随机地 - 有时这些测试会在表格仍在工作时失败。表单使用 AJAX 提交,我使用 waitForResource 函数等待 AJAX 响应。

深入研究问题我发现 CasperJS 正在发送 POST 请求(我通过分析 resource.requested 事件来做到这一点,但有时这会导致以下错误( resource.error):

errorCode: 205
errorString: Unknown error

深入研究问题,当我查看相关网站的 apache 访问日志时,我注意到当测试成功时,POST 请求被很好地记录(如预期的那样)。但是......当我收到上述错误时,我找不到这样的条目。看起来我的请求根本没有收到服务器!尽管 CasperJS 的 resource.requested 事件明确表示已发送 POST。

有没有其他人遇到过这个问题或者可能知道这里发生了什么?或者更好:如何解决这个问题?

最佳答案

您能否使用某种网络嗅探器来真正查明请求是否正在离开 Casper/Phantom? (我同意 Artjom 的建议,也尝试使用 Slimer,但如果它适用于 Slimer,则不一定意味着问题出在 Phantom 中。)

还有(或曾经是 - 在 Apache 2.2 和 2.4 之间更改日志记录)一种在 Apache 中获取更详细日志记录的方法,应该显示服务器端崩溃。

Casper 自己生成 205 错误似乎很奇怪。它似乎更有可能是服务器端的东西。 (或者,如果 Apache 前面有一个反向代理,那将是您的首选。)

如果您使用的是 Linux,有几个链接可以帮助您入门:

关于ajax - CasperJS 似乎没有发送我所有的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24784350/

相关文章:

javascript - 当用户单击提交时,ajax 停止 Bootstrap 模式框关闭

javascript - Chrome 扩展 : How to reload/re-execute content script on Ajax request

php - IIS 6 重定向目录到 index.php?

java - 使用 dbUnit 模拟触发器

java - 使用多种数据库类型的Spring Boot集成测试

android - 有没有华为p30的模拟器

javascript - Wordpress - 发布到自定义 PHP 文件 - 错误 500

javascript - 如何在angularjs ajax调用中防止 "Provisional headers are shown"

php - 使用 .htaccess 将不带扩展名的热链接重定向到父网站

PHP mkdir 和 apache 所有权