Page 262 - AngularJS权威教程
P. 262
242 第 19 章 测试
// 获取元素的scrollTop值
element("#signup_form", "signup form").scrollTop()
// 设置
element("#signup_form", "signup form").scrollTop(0)
要获取或者设置偏移量:
// 获取元素的偏移量
element("#signup_form", "signup form").offset()
// 设置
element("#signup_form", "signup form").offset(0);
也可以在jQuery选择器中查询或者变更一个元素的值,可以获取特性(使用attr):
element("div", "signup box").attr('width')
// 设置
element("div", "signup box").attr('width', '100%')
可以获取一个属性(使用prop):
element("div", "signup box").prop('width')
// 设置
element("div", "signup box").prop('width', '100%')
还可以获取CSS(使用css):
element("div", "signup box").css('border-color')
// 设置
element("div", "signup box").css('border-color', 'red')
除了使用element()获取元素,还有其他与内容交互的方式。Angular的场景运行器包含了一
些不同的帮助方法,能让我们查询和操作已渲染的DOM。
我们可以追溯自己所感兴趣的:Angular对不同元素的元素的认知。可以选中它们,找到绑
定,与输入元素交互,查询页面以测试原生的Angular绑定。
7. 选择页面上的元素
场景运行器为我们建立的最底层帮助函数之一是using()函数。利用该函数,我们可以用
jQuery类型的元素选择符定位指定的元素。
it('does not test anything yet', function() {
// 定位指定元素
using('.input_email').binding('email');
});
using()方法最多可带两个参数。
jQuery选择器。我们用这个选择器来选定页面上的元素。
标签(可选的字符串)。这个字符串是一个标签,运行器用它在测试的输出中标识这个选
择器。
8. 与Angular的绑定进行交互
场景运行器包含了一个途径,可以深入到Angular建立的绑定中,这样就可以从DOM上查询
到Angular的绑定,然后从这个指定元素上选择第一个绑定关系。
例如,如果我们有一段HTML,在它上面包含有$scope元素的属性名: