Можно ли запустить tableau-javascript-api код, который работает с html, над phantomjs ?
Я работаю над проектом, чтобы получитьДанные таблицы через tableau-javascript-API и затем проверяют их, если они показывают, исправляет данные.
Среди этого проекта мне нужно автоматически запускать все эти задания в Jenkins.Для них мне нужен какой-то инструмент, такой как maven / исполнитель командной строки, что-то вроде этого.
В данный момент я пытаюсь использовать Phantomjs.Но даже если я включил tableau-2.min.js
, Phantomjs не распознает / не знает «новую таблицу.Виз (параметры)».
Кто-нибудь имеет опыт работы с моей ситуацией?Есть ли другие инструменты, которые вы мне предлагаете?
Здесь я добавляю свой код JavaScript:
var viz;
function initViz() {
var container = document.getElementById("container");
var url = "http://my_tableau_link";
var options = {
hideTabs: true,
hideToolbar: true,
onFirstInteractive: function () {
getSummaryData(Timo_Live_Auswertung);
}
};
viz = new tableau.Viz(container, url, options);
}
function getSummaryData(object){
var worksheet = viz.getWorkbook().getActiveSheet().getWorksheets().get(object.SHEET);
console.log(worksheet.getName());
options = {
maxRows: 0,
ignoreAliases: false,
ignoreSelection: true,
includeAllColumns: false
};
worksheet.getSummaryDataAsync(options, object).then(function(table) {
var columns = table.getColumns();
var data = table.getData();
var niceData = reduceToObjects(columns, data);
console.log(niceData);
for (var i = 0; i < niceData.length; i++){
if (niceData[i]["OFFER"] == "4044"){
console.log(i + ": " + niceData[i]["OFFER"] == "4044");
console.log(i + ": " + niceData[i]["Planstunden Kategorie"]);
}
}
});
}
function reduceToObjects(cols,data) {
var fieldNameMap = $.map(cols, function(col){
var fieldName = col.getFieldName();
return fieldName;
});
var dataToReturn = $.map(data, function(d) {
return d.reduce(function(memo, value, idx) {
memo[fieldNameMap[idx]] = value.formattedValue;
return memo;
},
{});
});
return dataToReturn;
}
var Timo_Live_Auswertung = {
SHEET : "Timo Live Auswertung (%)",
Kennzahlnamen : "Kennzahlnamen",
Kennzahlwerte : "Kennzahlwerte",
Kunde: "Kunde",
Label_list: "Label list",
Laufzeit: "Laufzeit",
OFFER: "OFFER",
Planstunden_Kategorie: "Planstunden Kategorie",
};
initViz();
Вот мой HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="container">
</div>
<script src="http://my_tableau_server/javascripts/api/tableau-2.min.js"></script>
<script src="index.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</body>
</html>