CasperJS 的互操作性目标有多强大?

How strong are CasperJS's interoperability goals?

我的理解是SlimerJS support in CasperJS is currently experimental (CasperJS 1.1.0-beta1, SlimerJS 0.8). And there are differences between the SlimerJS and CasperJS APIs.

在我发现这一点之前,我假设 CasperJS 的最终目标是成为一个单一的框架,可以 运行 针对 Gecko(使用 SlimerJS)或 WebKit(使用 PhantomJS)的相同脚本,并且我不需要 "learn" Slimer 或 Phantom。

现在看来抽象程度有限,那我还不如直接用各个底层框架呢。是不是有些抽象比none更好,而且情况可能会有所改善?

我不是征求对 "which framework is better right now" 或 "is CasperJS good enough" 的意见。我想了解 CasperJS 的(已记录的,可能是理想的)目标。

来自 https://github.com/casperjs/casperjs/issues/1905 :

The original goals of CasperJS is make it easier for navigation and testing. Although it is great to be able to harmonize across different browser, in practice it is really hard.

...

If something you want to be done can be done directly and easily using the browser automation engine [SlimerJS or PhantomJS], then that's great and it is better to do that. If there are complicated steps of code and you find that CasperJS's API simplifies some of the hard work for you, then you can consider using CasperJS.