r3x*_*r3x 12 javascript jasmine angularjs protractor
如果这是一个新手问题我很抱歉,刚开始进行网络自动化测试.
我想测试登录屏幕页面.查找名称和密码文本字段很简单(仅由.model使用),但是我在使用我的脚本找到登录按钮时遇到问题.
我google了,我应该能够通过className使用element(by.css(.className))找到一个元素,但是这无法工作,我总是得到 NoSuchElementError: No element found using locator: By.cssSelector(".btn btn-lg btn-primary btn-block").
知道我做错了什么吗?
提前谢谢你,
LoginBtn HTML:
<button class="btn btn-lg btn-primary btn-block" type="submit" ng-disabled="loading">login</button>
Run Code Online (Sandbox Code Playgroud)
我的代码:
describe('Test login', function() {
var username = element(by.model('formData.email'));
var password = element(by.model('formData.password'));
var loginBtn = element(by.css('.btn btn-lg btn-primary btn-block'));
beforeEach(function() {
browser.get('some site'); //hidden on purpose
});
it('should have a title', function() {
username.sendKeys(1);
password.sendKeys(2);
loginBtn.click();
});
});
Run Code Online (Sandbox Code Playgroud)
ale*_*cxe 20
如果要检查多个类,请用点分隔它们:
by.css('.btn.btn-lg.btn-primary.btn-block')
Run Code Online (Sandbox Code Playgroud)
虽然,我会按文字找到按钮 - 看起来更可靠和可读:
by.xpath('//button[. = "login"]')
Run Code Online (Sandbox Code Playgroud)
另外,考虑分配按钮id(如果这是在您的控制之下)属性以简化测试过程:
<button id="submitButton" class="btn btn-lg btn-primary btn-block" type="submit" ng-disabled="loading">login</button>
Run Code Online (Sandbox Code Playgroud)
然后,它会像以下一样简单:
by.id('submitButton')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22294 次 |
| 最近记录: |