我的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被加载.
我正在进行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定位器的可靠性如何?
提前致谢!
您好我如何组合我的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)
然后在两个阵列上进行迭代不起作用.
我正在编写CasperJS测试脚本的最后一部分,我需要渲染一个被操作的网页的.png图像并将其保存到我选择的目录中.谁知道我怎么能这样做?
提前致谢