【发布时间】:2021-05-03 20:35:49
【问题描述】:
我有一个基于地图的应用程序(如谷歌地图),我正在为放大选项编写测试。放大时覆盖所有缩放级别的测试。我的测试正在运行,但结果不一致且不稳定。
我的代码:
static verifyAllAvailableZoomInZoomSizeInNM() {
var expectedValues = [500,200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01,0.005,0.002,0.001,0.0005,0.0002,0.0001,0.00005,0.00002];
cy.getCurrentZoomSizes({
numValues: 26,//I expect to give 23 but I just gave 26 in order to capture all sizes
waitBetween: 1000,
elementLocator: BTN_MAP_ZOOMIN,
}).should("be.eql", expectedValues);
}
赛普拉斯命令:
/* Get the numeric value of zoom size in nm */
Cypress.Commands.add("getCurrentZoomSize", () => {
cy.get('div[class="ol-scale-line-inner"]').then(
($el) => +$el[0].innerText.replace(" nm", "")
);
});
/* Get a sequence of zoom size values */
Cypress.Commands.add("getCurrentZoomSizes", ({ numValues, waitBetween, elementLocator }) => {
const values = [];
Cypress._.times(numValues, () => {
cy.getCurrentZoomSize()
.then((value) => values.push(value))
cy.get(elementLocator)
.click()
.wait(waitBetween);
});
return cy.wrap(values);
});
以及测试结果1:
正如您在屏幕截图中看到的,一些缩放尺寸重复了。我尝试在每次放大点击之间给予足够的等待,但这也无济于事。有什么办法可以解决这个不稳定的测试吗?
【问题讨论】:
标签: cypress