Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 使用';期望';检查部分文本内容的步骤_Selenium_Protractor - Fatal编程技术网

Selenium 使用';期望';检查部分文本内容的步骤

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")); 这将

我想使用“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"));
这将返回:

    - 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)