Protractor测试:如何设置登录表单中文本元素的值
Protractor testing: How to set the value of text elements in a login form?
我正在为Angular应用程序用Protractor编写测试。我想填写一份登录表格并提交。
我该怎么做?我已经走了这么远,但我不知道如何设置电子邮件和密码字段的值。
describe('The dashboard', function() {
ptor = protractor.getInstance();
beforeEach(function() {
ptor.get('#/dashboard');
var email = ptor.findElement(protractor.By.model('email'));
var password = ptor.findElement(protractor.By.model('password'));
var submit = ptor.findElement(protractor.By.tagName('button'));
// Fill out the form?
submit.click();
});
it('has a heading', function() {
heading = ptor.findElement(protractor.By.tagName('h1'));
expect(heading.getText()).toEqual('My Dashboard');
});
});
为了任何通过谷歌发现这一点的人的利益,答案是:
email.sendKeys('myemail@myemail.com');
password.sendKeys('mypassword');
您可以使用
email.clear().sendKeys('myemail@myemail.com');
password.clear().sendKeys('mypassword');
除了耸肩和理查德,
要确保输入为空或已清除,请使用clear方法,该方法返回Promise。在您的输入中使用sendKeys方法解析promise。如果您已经用默认值预先填充了输入,这将非常有用。
异步/等待:
async fillInEmail() {
await email.clear();
email.sendKeys('myemail@myemail.com');
}
async fillInPassword() {
await password.clear();
password.sendKeys('mypassword');
}
ES6:
email.clear().then(() => {
email.sendKeys('myemail@myemail.com');
});
password.clear().then(() => {
password.sendKeys('mypassword');
});
ES6之前:
email.clear().then(function() {
email.sendKeys('myemail@myemail.com');
});
password.clear().then(function() {
password.sendKeys('mypassword');
});
根据以上答案,在大多数情况下可以使用sendkey。如果不起作用,可以使用Javascript将文本注入元素。
var locatorid='datepicker1';
var val= '12/31/2019';
//without parameterized
browser.executeScript("document.getElementById('datepicker1').value='10/21/2019'");
//After parameterized
browser.executeScript("document.getElementById('"+locatorid+"').value='"+val+"'");
browser.sleep(3000);
xpath怎么样?
我创建了一个如下按钮:
<ion-input [(ngModel)]="model.password" name="password" type="text" #passcode="ngModel" required>
</ion-input>
并使用设置值
element(by.xpath('//*[@name="password"]/input')).sendKeys('PASSWORD')
var searchComment = element(by.name("customTextField"));
searchComment.sendKeys("france").then(function() {
next()
});
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- Ajax发布表单序列化,发布引号'
- 多级HTML表单
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在验证和发送邮件后更改联系人表单的 html
- jQuery表单添加不适用于下拉列表
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- Javascript更新孙窗口中的表单元素
- 解析javascript表单验证器
- 阻止表单元素提交
- 如何设置表单中文本字段的初始值?此值是从 JavaScript 函数生成的.如何在没有 botton 的情况下定义事件
- 如何使用Javascript获取表单中文本字段数组的索引