使用量角器显示AngularJS E2E测试中新记录的背景颜色

时间:2015-02-11 06:28:48

标签: angularjs protractor angularjs-e2e e2e-testing

我正在为我的角度应用程序中的“添加新用户”编写E2E测试用例。在这里,我想显示新创建的用户(或记录)的背景颜色。这是我的测试用例。

element(by.model('newrecord.firatName')).sendKeys('Juli');      
element(by.model('newrecord.lastName')).sendKeys('Robert');                     
element( by.css('[ng-click="ok()"]') ).click();

提前致谢。

1 个答案:

答案 0 :(得分:2)

量角器并不意味着对页面进行非用户更改,因此如果您希望它使用量角器更改页面的背景颜色,您应该重新考虑。但是......如果你决定使用它,你可以使用browser.executeScript(statement)和'声明'将被评估为JavaScript,就像您在控制台中运行它一样。选择有问题的元素并以这种方式为其赋予CSS background-color属性将非常简单。

如果您的意思是想要测试元素的背景颜色,您可以使用element(selector).getAttribute('style').then(function(style) {});并执行一些JS字符串操作魔法来获取您的& #39;重新寻找。这看起来像这样:

var bgIndex = style.indexOf('#', style.indexOf('background-color:')) + 1;
var bgColor = style.substr(bgIndex, 6);

以上内容有点过于具体(例如,如果您使用rgb()值,它就不会起作用),但您应该明白这一点。

@jsmarkus说你也可以使用getCssValue('background-color')。这样可以避免一些字符串操作问题。