저는 Java + WebDriver 배경이며 각도기, WebdriverJS 및 Jasmine을 사용합니다. 표시된 이미지에서 마우스를 모든 거품 위에 올려 놓고 도구 팁 값 (city, sold, connected)을 가져 와서 객체로 배열에 할당하고 호출 함수에 반환하려고합니다. 누구든지이 상황에서 객체의 배열을 만드는 방법을 알려주시겠습니까? 내 사양 파일에서 주장하려고 해요.각도기/WebDriverJS 요소 값을 객체 배열로 반환
이 함수를 호출 할 때 return arr;은 나머지 코드보다 먼저 실행됩니다. 비동기 동작 때문인 것으로 보입니다.
this.getSalesVolumeDistribution = function() {
var arr = [];
var icons = element.all(by.css('#map-container svg>circle'));
icons.map(function(elm) {
browser.actions().mouseMove(elm).perform();
var toolTipCity = element(by
.css('#map-container g.highcharts-tooltip tspan:nth-of-type(2)'));
var toolTipUnitsSold = element(by
.css('#map-container g.highcharts-tooltip tspan:nth-of-type(3)'));
var toolTipUnitsConnceted = element(by
.css('#map-container g.highcharts-tooltip tspan:nth-of-type(4)'));
toolTipCity.getText().then(function(text) {
var cityVal = text.replace('City: ', '').replace(',', '');
console.log(text.replace('City: ', '').replace(',', ''));
var soldVal = toolTipUnitsSold.getText().then(function(text) {
return text.replace('Units Sold: ', '').replace(',', '');
});
var connVal = toolTipUnitsConnceted.getText().then(function(text) {
return text.replace('Units Connected: ', '');
});
arr.push({
city: cityVal,
sold: soldVal,
conn: connVal
});
});
});
return arr;
};
정확히 여기서 작동하지 않는 항목은 무엇입니까? 오류 란 무엇입니까/출력에 문제가 있습니까? – Danmoreng
이 함수를 호출 할 때 *** return arr; ***이 나머지 코드보다 먼저 실행됩니다. 비동기 동작 때문인 것으로 보입니다. –