Selenium 使用';期望';检查部分文本内容的步骤
我想使用“Expect”来验证元素中是否存在某个文本字符串 我正在查看的元素将包含以下文本: “您的预订编号是:DBM038763。” 我想确认“DBM”出现在文本中Selenium 使用';期望';检查部分文本内容的步骤,selenium,protractor,Selenium,Protractor,我想使用“Expect”来验证元素中是否存在某个文本字符串 我正在查看的元素将包含以下文本: “您的预订编号是:DBM038763。” 我想确认“DBM”出现在文本中 var conf1 = element(by.xpath(".//*[@id='root']/div[2]/div/div[2]/div/section/div[1]/div[2]/div/h4")).getText(); expect(conf1.textToBePresentInElement("DBM")); 这将
var conf1 = element(by.xpath(".//*[@id='root']/div[2]/div/div[2]/div/section/div[1]/div[2]/div/h4")).getText();
expect(conf1.textToBePresentInElement("DBM"));
这将返回:
- Failed: conf1.textToBePresentInElement is not a function
我肯定我错过了一些非常明显的东西!
谢谢如果值出现在
conf1
中,则您可以使用以下选项
expect(conf1).toContain("DBM")
texttobepresentElement
是一个函数,但您试图将其作为conf1
上的方法调用,这是一个承诺,最终通过getText()
返回字符串。您需要稍微更改语法以使用预期条件,如下所示:
var EC = protractor.ExpectedConditions;
var conf1 = element(by.xpath(".//*[@id='root']/div[2]/div/div[2]/div/section/div[1]/div[2]/div/h4")).getText();
expect(EC.textToBePresentInElement(conf1, "DBM")).toBe(true); //added .toBe(true)
上面链接中提供了默认示例
var EC = protractor.ExpectedConditions;
// Waits for the element with id 'abc' to contain the text 'foo'.
browser.wait(EC.textToBePresentInElement($('#abc'), 'foo'), 5000);
您确定
conf1
中存在的值吗?我的答案实际上应该是expect(EC.texttobepresentelement(conf1,“DBM”).toBe(true)
。我原来忘了附加.toBe(true)