量角器解雇警报弹出窗口

时间:2015-04-13 21:02:51

标签: javascript angularjs protractor

我有一个员工创建页面,我填写了详细信息,然后点击“保存”#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()\"]")

4 个答案:

答案 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();