标签: casperjs

CasperJS跳过超时

我的casperjs测试中有一个页面有图像,我不要等到这个页面加载到下一步.我该怎么做 ?我试过这种方式

var casper = require("casper").create({
   onStepTimeout: function() {
                        this.echo("TIMEOUT" + this.requestUrl,"RED_BAR");
   // Some skip page controlling code 
   },
);
var timeout = ~~casper.cli.get(0);

casper.start("http://127.0.0.1/index2.php", function () {
    this.echo("FIRST GOOD PAGE", "GREEN_BAR");
    casper.options.stepTimeout = timeout;
});

casper.thenOpen("http://127.0.0.1/slowpage.php", function() {
        this.echo("SECOND PAGE LOADED - I want to be called even  have received Timeout!", "GREEN_BAR");
});

casper.then(function() {
    this.echo("THEN!", "GREEN_BAR"); 
});
Run Code Online (Sandbox Code Playgroud)

但它只是调用onStepTimeout直到slopage.php被加载.

javascript casperjs

0
推荐指数
2
解决办法
7550
查看次数

使用CasperJS/PhantomJS测试ExtJS webapp的UI

我正在进行UI测试ExtJS网络应用程序,我是初学者.我试图使用CasperJS/PhantomJS工具测试ExtJS小部件.此外,我使用Resurrectio生成所需的CasperJs脚本并对其进行必要的更改.

由于ExtJs为其创建的DOM元素动态生成唯一ID,因此我想知道如何在CasperJs脚本中提供这些ID以进行测试.

例如,以下Casper脚本由Resurrectio生成:

   casper.waitForSelector("#ext-gen1142 .x-tree-icon.x-tree-icon-parent",
       function success() {
           test.assertExists("#ext-gen1142 .x-tree-icon.x-tree-icon-parent");
           this.click("#ext-gen1142 .x-tree-icon.x-tree-icon-parent");
       },
       function fail() {
           test.assertExists("#ext-gen1142 .x-tree-icon.x-tree-icon-parent");
   });
   casper.waitForSelector("#gridview-1038",
       function success() {
           test.assertExists("#gridview-1038");
           this.click("#gridview-1038");
       },
       function fail() {
           test.assertExists("#gridview-1038");
   });
Run Code Online (Sandbox Code Playgroud)

#ext-gen1142和#gridview-1038是动态创建的ID.如何在测试中提供数据?是否存在任何与代码中的ExtJ一起使用的存根或模拟工具,以便在测试期间在运行时提供这些ID?

我遇到了SinonJS.是否可以使用或者我是否需要使用此答案中提到的CSS或XPath定位器?使用CSS或Xpath定位器的可靠性如何?

提前致谢!

automated-tests extjs gui-testing phantomjs casperjs

0
推荐指数
1
解决办法
2451
查看次数

组选定元素:document.querySelectorAll

您好我如何组合我的document.querySelectorAll如果我有这样的情况:

<div>
 <p class="flower">Flower 1</p>
 <p class="bee">Bee 1</p>
 <p class="tree"></p>
</div>

<div>
 <p class="flower">Flower 2</p>
 <p class="dude"></p>
 <p class="snow-leopard"></p>
</div>

<div>
 <p class="flower">Flower 3</p>
 <p class="tree"></p>
 <p class="mountain"></p>
 <p class="wizard"></p>
 <p class="bee">Bee 3</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我一直想选花,如果有一只蜜蜂,我想将它附在花上,我不在乎其余的.花和蜜蜂在div中没有​​特定的顺序,有些情况下没有蜜蜂.还假设花和蜂有一个类,但结构的其余部分不像示例中那样干净.到目前为止,我唯一的解决方案是升级几个级别然后使用正则表达式.最后我想把它们都包含在一个json中:

[{flower: "yellow", bee:"bumblebee"},...]
Run Code Online (Sandbox Code Playgroud)

这种方法:

var flowers = document.querySelectorAll(flower);
var bees = document.querySelectorAll(bee);
Run Code Online (Sandbox Code Playgroud)

然后在两个阵列上进行迭代不起作用.

javascript css-selectors selectors-api casperjs

0
推荐指数
1
解决办法
232
查看次数

有没有办法渲染网页的.png图像并使用CasperJS将其保存到目录中

我正在编写CasperJS测试脚本的最后一部分,我需要渲染一个被操作的网页的.png图像并将其保存到我选择的目录中.谁知道我怎么能这样做?

提前致谢

javascript phantomjs casperjs

-1
推荐指数
1
解决办法
4925
查看次数