私は、さまざまな選択項目(ここでは車)の情報を検出し、この車両が製品を注文できるかどうかを調べるテストを進めています。期待外の価値を使うことはできません
価格と名の値をすることができ、私は「generalData」オブジェクトにそれを持ってではなく、選択された車両の名前とステータス...
var TestData = require('./testdata.js');
var TD = new TestData();
var generalData = TD.generalData;
(doing logging, open page)
PDP.elementPrice.getText().then(function (value) {
value = value.replace(/[^0-9\.,-]+/g, "");
generalData.articleData.price = value;
console.log(value);
});
PDP.elementArticleNumber.getText().then(function (value) {
generalData.articleData.number = value;
console.log(value);
});
がここからは、何の値が保存されませんあなたのコードの残りの部分が実行された後GeneralDataオブジェクト
PDP.elementCarList.count().then(function (value) {
console.log("Fahrzeuge: " + value);
vehicles = parseInt(value, 16);
for (var car = 0; car < vehicles; ++car) {
console.log(car);
PDP.elementCarList.get(car).getAttribute("data-testid").then(function (value) {
value = value.split("-").pop();
generalData.articleData.fin = value
console.log(value);
});
PDP.selectCar(car);
PDP.elementSelectCar.getText().then(function (value) {
generalData.articleData.vehicle = value;
console.log(value);
}); PDP.elementStatus.getAttribute("class").then(function (value) {
value = value.split("-").pop();
generalData.articleData.status = value;
console.log(value);
});
expect(PDP.elementStatus).toBeDefined();
var options = buildSendOptions(generalData);
request(options, callback);
}
});
をあなたが私にそれを解決する方法のサンプルをお願いできますか?私はまだこの初心者です... –
@StefanieZachmann - 前回の非同期操作の結果を使用できるように、あなたの約束を縛るか入れ子にする必要があります。ここにいくつかのアイデアがあります:[前の結果を連鎖して約束する方法](http://stackoverflow.com/questions/28714298/how-to-chain-and-share-prior-results-with-promises/28714863#28714863 )。 – jfriend00
それが解決策でした。 :)それは知らなかった:)ありがとう –