我试图获取元素<span>
的文本值,但它不会返回.getText()
`
//spec
var statPage = require('something');
describe('Start', function () {
describe('Setup', function () {
it('test quality', function(){
new statPage().quality();
});
});
});
//page object
Sender.prototype.quality = function () {
browser.ignoreSynchronization = true;
this.verifyPageUrl();
this.verifyTabName();
};
Sender.prototype.verifyTabName = function () {
console.log("inside verifyTabName()");
var EC = protractor.ExpectedConditions;
var tab = element(by.css("span.active-tab-head"));
browser.wait(EC.textToBePresentInElement(tab, 'u4uvpzn4'), 5000).then(function(){
console.log('inside browser wait');
});
tab.getText().then(function(tabFullName) {
console.log('tab name is : ' + tabFullName);
});
};
Sender.prototype.verifyPageUrl = function () {
browser.getCurrentUrl().then(function(text){
console.log('this is the right page : ' + text);
});
};
答案 0 :(得分:1)
您提供的代码看起来是正确的,我怀疑可能存在时间问题。让我们使用textToBePresentInElement
Expected condition并等待u4uvpzn4
文字出现在有效标签中:
var EC = protractor.ExpectedConditions;
var tab = element(by.css("span.active-tab-head"));
browser.wait(EC.textToBePresentInElement(tab, 'u4uvpzn4'), 5000);
tab.getText().then(function(tabFullName) {
console.log('tab name is : ' + tabFullName);
});
答案 1 :(得分:0)
您可以尝试以下方式使代码更具动态性:
var tabName = element(by.css('.tab-head.active-tab-head'));
我能想到的唯一另一个问题是你可能没有任何标签设置为.active-tab-head,它会返回一个空字符串。
答案 2 :(得分:0)
奇怪的事情正在发生,因为量角器甚至没有认识browser.pause()
但是,重新安装量角器修复了这些问题!