1

我今天尝试通过表单发送数据,但数据必须放在 post uri 中,有没有办法将参数附加到表单 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();
});
4

1 回答 1

0

量角器的首席开发人员 Julie Ralph 说,这(本机)不可能:

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

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

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

于 2014-10-16T23:18:48.550 回答