protractor-js设置表单动作属性

时间:2013-09-12 13:37:32

标签: angularjs angularjs-e2e protractor

我今天尝试通过表单发送数据,但数据必须在uri后发布,有没有办法将params附加到uri表单中,然后我可以提交点击。

我已经尝试过以下代码。然而,

driver.findElement(protractor.By.name('formelement')).setAttribute('action', attr);

返回Object没有方法setAttribute

driver.findElement(protractor.By.name('externalFormData')).getText().then(function(result){
    var attr = driver.findElement(proractor.By.name('formelement').getAttribute('action');
    attr += result;
    driver.findElement(protractor.By.name('formelement')).setAttribute('action', attr);
    driver.findElement(protractor.By.name('submitRequest')).click();
});

1 个答案:

答案 0 :(得分:0)

量角器的首席开发人员Julie Ralph说这不是(原生)可能的:

https://github.com/angular/protractor/issues/82

juliemr于2013年9月12日发表评论 用户不会设置属性,因此它不是webdriver的功能。你能找到一种只使用你的页面手动运行测试的方法吗?看来你可能不得不使用angular和$ http.post()而不是仅仅依赖于'action属性。

就个人而言,这有点臭。我有测试超时因为sendKeys在长文本文件上太慢了。如果我找到一个好的解决办法,我会及时通知你。也许需要有一个' pasteTextBlock'而不是' sendKeys' ...根据朱莉的理由,用户可以复制和粘贴而不是键入...