プログラム実行中に "ページオブジェクト"の "要素"セクションの要素を変更することはできますか?私は実行中にオブジェクトを作成し、オブジェクト名が存在するかどうかをチェックする必要があります。nightwatch - ページオブジェクト要素を変更する
私はhereから例を追っ:
オブジェクトのページ:
module.exports = {
url: function() {
return 'https://' + this.api.globals.host + '/#/products/';
},
elements: {
product: ".product[data-product-name='%s']"
},
comands: [{
el: function(elementName, data) {
var element = this.elements[elementName.slice(1)];
return util.format(element.selector, data);
}
}]
};
テストプログラム:
'my test': function (browser) {
var page = browser.page.myPage();
page.click(page.el('@product', 'milk')); // .product[data-product-name='milk']
}
をそれはこれまでのところ、正常に動作します。セレクタ文字列を返しますが、この文字列は正しいですが。
1)試験は、したがって、私はXPath
セレクタを使用し、文字列の名前を検索しているが、バック「CSSセレクタ」にNightwatch
スイッチ:しかし、私は2つの問題が発生しました。 NightwatchをXPath
モードに保つ方法はありますか?
2)「VARページ」の目的は、上記指定された「要素」セクションから「要素」でなければならない文字列として引数を渡すことができないページオブジェクトパターンを使用しているが私のページのオブジェクトファイルで。この例は「CSSセレクタ」なので動作しますか?
ありがとうございます!