Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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
Javascript 如何使用量角器在类中搜索,在类中查找p标记并验证其部分文本?_Javascript_Angularjs_Node.js_Jasmine_Protractor - Fatal编程技术网

Javascript 如何使用量角器在类中搜索,在类中查找p标记并验证其部分文本?

Javascript 如何使用量角器在类中搜索,在类中查找p标记并验证其部分文本?,javascript,angularjs,node.js,jasmine,protractor,Javascript,Angularjs,Node.js,Jasmine,Protractor,我想做的是找到一种方法,使用量角器来定位一个类,并搜索该类中的所有p标记,查看其中是否有任何标记在文本中包含“Glennville,GA” 这就是我一直试图在规范文件中执行的操作: it('should filter results by location', function() { browser.driver.wait(function(){ return browser.driver.isElementPresent(by.id('jobLocationFilte

我想做的是找到一种方法,使用量角器来定位一个类,并搜索该类中的所有p标记,查看其中是否有任何标记在文本中包含“Glennville,GA”

这就是我一直试图在规范文件中执行的操作:

it('should filter results by location', function() {
    browser.driver.wait(function(){
        return browser.driver.isElementPresent(by.id('jobLocationFilter'));
    });
    browser.driver.findElement(by.id('jobLocationFilter')).click();
    browser.driver.findElement(by.css('[value="5"]')).click();
    browser.driver.wait(function() {
        return browser.driver.isElementPresent(by.css('[class="Title"]'));
    });
});
基本上,我所做的是从下拉菜单中选择一个选项,我需要编写一个expect来验证我是否选择了该选项。我尝试过很多不同的方法,但似乎找不到一种适合我的方法

这是我正在使用的HTML:

<div class="jobEntry">
   <span class="Title">
      <a href="/rewrite_your_future/job_postings/122">Lead QA Test Engineer</a>
   </span>
   <p>Lead QA Engineer Glennville, GA</p>
</div>
我将使用+并最终检查:

我将使用+并最终检查:


如果jobEntry类是唯一的,并且内部只有一个p标记,则应使用以下选项:

expect(元素(按.css('[class=“jobEntry”]'))
.element(通过.tagName('p')).getText()).toContain('Glennville,GA')

如果jobEntry类是唯一的,并且您的内部只有一个p标记,那么下面的命令应该可以执行此操作:

expect(元素(按.css('[class=“jobEntry”]'))
.element(通过.tagName('p')).getText()).toContain('Glennville,GA')

我尝试了一下,收到了一个以前从未见过的错误。失败:在没有“new”的情况下无法调用类构造函数。你知道这是什么意思吗?@AP1我确定这和我提议的代码无关。你是如何尝试应用建议的解决方案的?嗯,我还没有收到这个错误,你知道这意味着什么吗?我试着在谷歌上快速搜索,但还没有找到太多。我经常使用skype向人们传达编码等信息。如果您愿意,可以在AnthonyClassUse添加我。我一直在努力学习一些东西,你有很多经验,如果我有问题,也许不介意偶尔分享一下。我找到了原因。这是因为最新版本的量角器有一个bug。当我卸载它并安装了早期版本的量角器时,这对我来说很有效!谢谢。我试过了,收到了一个以前从未见过的错误。失败:在没有“new”的情况下无法调用类构造函数。你知道这是什么意思吗?@AP1我确定这和我提议的代码无关。你是如何尝试应用建议的解决方案的?嗯,我还没有收到这个错误,你知道这意味着什么吗?我试着在谷歌上快速搜索,但还没有找到太多。我经常使用skype向人们传达编码等信息。如果您愿意,可以在AnthonyClassUse添加我。我一直在努力学习一些东西,你有很多经验,如果我有问题,也许不介意偶尔分享一下。我找到了原因。这是因为最新版本的量角器有一个bug。当我卸载它并安装了早期版本的量角器时,这对我来说很有效!非常感谢。
exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['spec.js']
}
var desiredElements = element.all(by.css("div.entry p")).filter(function (elm) {
    return elm.getText().then(function (text) {
        return text.indexOf("Glennville, GA") >= 0;
    });
});
expect(desiredElements.count()).toBeGreaterThan(0);