角度/Jquery选择器在运行量角器时导致错误
我在角度项目上运行Karma+量角器时出错。 我尝试了几种不同的方法来选择元素,它们都会导致错误 我正在寻找一种方法,使其工作/在运行测试时忽略此功能。 这是未通过测试的线路:角度/Jquery选择器在运行量角器时导致错误,jquery,angularjs,highcharts,protractor,karma-runner,Jquery,Angularjs,Highcharts,Protractor,Karma Runner,我在角度项目上运行Karma+量角器时出错。 我尝试了几种不同的方法来选择元素,它们都会导致错误 我正在寻找一种方法,使其工作/在运行测试时忽略此功能。 这是未通过测试的线路: var chart = angular.element(document.querySelector("#chart2")).highcharts(); 这一行的结果是: TypeError:“未定义”不是函数(正在计算 'angular.element(document.querySelector(“#chart2”
var chart = angular.element(document.querySelector("#chart2")).highcharts();
这一行的结果是:
TypeError:“未定义”不是函数(正在计算
'angular.element(document.querySelector(“#chart2”)).highcharts()
我尝试了几种不同的方法:
我将行更改为:
var chart = $("#chart2").highcharts();
并得到以下错误:
ReferenceError:找不到变量:$
我还尝试将此行更改为:
var chart = angular.element("#chart2").highcharts();
然后我得到了以下错误:
错误:[jqLite:nosel]无法通过选择器查找元素
由jqLite支持!见:
重要的是,所有3个选项都适用于角度
我正在寻找一种方法,使其工作/在运行测试时忽略此功能。
有没有可行的想法?如果您有jQuery可用,这些选项可能会起作用。看起来您的测试正在使用angular内置jqLite,而这些功能不可用 Angular可以使用jQuery,如果它在应用程序引导时出现在应用程序中。如果您的脚本路径中没有jQuery,Angular将返回到它自己的jQuery子集实现,我们称之为jQLite 也许可以尝试将jQuery添加到您的karma配置中?在angular之前加载jQuery应该可以工作 e、 g.在你的业力配置中:
files: [
'libs/jquery.js',
'libs/angular.js'
]
你可能会从附近的某个地方获得动力
expect(element(by.xpath('//highcharts')).isPresent()).toBe(true);
在您的测试过程中,似乎没有加载jquery。@i抱歉,您知道我应该更改或添加什么来加载它吗?我需要将这些文件添加到量角器,而不是karma,您知道如何将jquery/angular添加到karma吗?