我正在尝试使用一个pageObect,它具有通过“链接文本”定位策略定位的元素。我可以使用“商店”链接在google.com上重新创建失败。
nightwatch v0.9.21
//google page object
module.exports = {
url: function () {
return 'https://www.google.com';
},
elements: {
storeLinkText: {
selector: 'Store',
locateStrategy: 'link text'
},
storeXPath: {
selector: '//*[@id="hptl"]/a[2]',
locateStrategy: 'xpath'
},
storeDefaultSelector: '#hptl > a:nth-child(2)',
},
};
从测试中: ...
// Fails
return client.page.core.google().navigate().then( () => {
return client.page.core.google().waitForElementPresent('@storeLinkText', 1000);
});
// Passes
return client.page.core.google().navigate().then( () => {
return client.page.core.google().waitForElementPresent('@storeXPath', 1000);
});
//Passes
return client.page.core.google().navigate().then( () => {
return client.page.core.google().waitForElementPresent('@storeDefaultSelector', 1000);
});
API表示他们支持“链接文字”和“部分链接文字”作为locateStrategy
选项。 https://github.com/nightwatchjs/nightwatch/wiki/Page-Object-API