1

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

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

提前致谢。

4

1 回答 1

2

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

如果你的意思是你想测试一个元素的背景颜色,你可以使用element(selector).getAttribute('style').then(function(style) {});并做一些 JS 字符串操作魔法来得到你正在寻找的东西。看起来像这样:

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

以上内容有点过于具体(例如,如果您使用值,它将不起作用rgb()),但您应该了解总体思路。

@jsmarkus 说你也可以使用getCssValue('background-color'). 这应该可以为您节省一些字符串操作的麻烦。

于 2015-02-11T21:15:30.287 回答