如果这是一个新手问题,我很抱歉,刚开始进行网络自动化测试。
我想测试登录屏幕页面。查找名称和密码文本字段很简单(只使用 by.model ),但是我在使用我的脚本找到登录按钮时遇到问题。
我google了,我应该能够通过className使用元素(by.css(.className))找到一个元素,但是这无法工作,我总是得到{{1} }。
知道我做错了吗?
提前谢谢你,
LoginBtn HTML:
NoSuchElementError: No element found using locator: By.cssSelector(".btn btn-lg btn-primary btn-block")
我的代码:
<button class="btn btn-lg btn-primary btn-block" type="submit" ng-disabled="loading">login</button>
答案 0 :(得分:20)
如果要检查多个班级,请用点分隔:
by.css('.btn.btn-lg.btn-primary.btn-block')
虽然,我会按文字找到按钮 - 看起来更可靠和可读:
by.xpath('//button[. = "login"]')
另外,考虑将按钮分配为id
(如果这在您的控制之下)属性以简化测试过程:
<button id="submitButton" class="btn btn-lg btn-primary btn-block" type="submit" ng-disabled="loading">login</button>
然后,它会像以下一样简单:
by.id('submitButton')
答案 1 :(得分:4)
您也可以只使用一个类来查找定位器
by.css('.btn-primary')
按班级名称
by.className('btn-primary')