Xpath 在元素量角器中找不到文本

Xpath 在元素量角器中找不到文本,xpath,protractor,Xpath,Protractor,我想使用量角器验证页面上是否存在某些文本 附件是我要验证的页面标签,我要验证的文本是: Vi har mottatt din melding. Vi ser på denne så snart som mulig, normalt innen neste arbeidsdag. 使用xpath的工作方式与中的不同: var xpath = '//*[@id="app"]/div/section[2]/article/section[2]/div[1]/div[2]/span[2]'; var

我想使用量角器验证页面上是否存在某些文本

附件是我要验证的页面标签,我要验证的文本是:

Vi har mottatt din melding. Vi ser på denne så snart som mulig,
normalt innen neste arbeidsdag.
使用xpath的工作方式与中的不同:

var xpath = '//*[@id="app"]/div/section[2]/article/section[2]/div[1]/div[2]/span[2]';

var txt = element(by.xpath(xpath)).getText();

expect(txt).toEqual(
    'Vi har mottatt din melding. Vi ser på denne så snart som mulig,' +
    ' normalt innen neste arbeidsdag.');
有什么建议吗?

试试看

const EC = protractor.ExpectedConditions;    
expect(EC.presenceOf(element(by.xpath('//span[text()='Vi har mottatt din melding. Vi ser på denne så snart som mulig, normalt innen neste arbeidsdag.']))));

/
告诉xpath您正在执行一个相对路径,因此在英语中,该命令应该期望出现一个包含您正在查找的文本的span。

定义包含getText()的异步函数(或测试),然后 尝试使用async getText(),它将返回一个承诺,因此:

var txt=await元素(by.xpath(xpath)).getText()

例如,我的测试函数如下所示:

导出异步函数getSelectOptionAutocompleteByText(选择:ElementFinder,文本:string):promise.promise{ 让我们回顾一下:任何; const res=wait select.all(by.csscontingtext('li',text)); 对于(资源的常数){ const ris=wait el.getText();//------这就是我的意思---- 如果(ris==文本){ ret=el; 返回ret; } } 返回ret;
}
请与stack trace共享您的
html
。提示:如果您自己找到了解决方案或下面有答案,请关闭选择答案(或发布您的答案并选择该答案);如果没有,请提供评论,以便其他人可以帮助您