我有一个员工创建页面,我填写了详细信息,然后点击“保存”#39;按钮,弹出一个警告说'员工创建成功'并且页面将更改为“员工”列表页面。警报在8秒后消失。我能够验证成功创建的员工'文本,但当我尝试关闭弹出窗口时,它说没有找到元素
这是弹出代码
<div class="alert ng-scope top-left am-fade alert-info" ng-class="[type ? 'alert-' + type : null]" style="display: block;">
<button class="close ng-scope" ng-click="$hide()" ng-if="dismissable" type="button">×</button>
<strong class="ng-binding" ng-bind="title"></strong>
<span class="ng-binding" ng-bind-html="content">Employee created successfully</span>
这是我得到的错误
Failed: No element found using locator: By.cssSelector("[ng-click=\"$hide()\"]")
答案 0 :(得分:1)
我遇到了与可解释元素类似的问题,我在使用元素之前解决了添加此行的问题,(可能需要添加一个browser.wait(EC.presenceOf(eleme)))
browser.ignoreSynchronization = true;
答案 1 :(得分:0)
你试过吗?
browser.switchTo().alert().accept();
或
browser.switchTo().alert().dimiss();
答案 2 :(得分:0)
这不是一种警告,你可以或应该抓住browser.switchTo().alert()
。
相反,这里的想法是等待弹出窗口出现并单击中的button
元素:
var EC = protractor.ExpectedConditions;
var popup = element(by.css("div.alert"));
// wait for the popup to appear
browser.wait(EC.visibilityOf(popup), 10000);
// make the expectation
expect(popup.element(by.binding("content")).getText()).toEqual("Employee created successfull");
// click the button
popup.element(by.tagName("button")).click();
答案 3 :(得分:0)
试试这个
var logOutBtn = element(by.css('button[ng-click="$hide()"]'));
logOutBtn.click();