我有一个项目的角度使用表单http://angular-formly.com/#/,并希望添加一些端到端测试使用量角器。
我无法按模型选择元素,因为表单字段是在代码中定义的,而不是在模板中定义的,当它们呈现时,它们得到了不同的ng模型,而且我不想添加特定的类,因为我有相当大的表单。
有没有一种方法来做这件事,并测试由福尔巴利呈现的表单?
发布于 2016-05-11 03:19:09
一种选择是查找所有形式上的input元素,评量模型值和过滤器
var formlyInputs = $$("input");
var desiredModel = "modelName";
var desiredInput = formlyInputs.filter(function (input) {
return input.evaluate("model[options.key]").then(function (model) {
return model === desiredModel;
});
}).first();
desiredInput.sendKeys("some text");您可能需要扩展它,以便不仅支持input元素,而且支持表单可能具有的其他表单元素。
另一种解决方案是依赖于输入的前一个标签:
var label = "Text";
var desiredInput = element(by.xpath("//label[normalize-space(.) = '" + label + "']/following-sibling::input"));
desiredInput.sendKeys("some text");https://stackoverflow.com/questions/37149822
复制相似问题