离子框架-量角器+离子弹出



是否有人成功使用量角器检测到离子弹出警报?我已经尝试了这里建议的所有解决方法,但没有运气。我需要量角器检测警报和检查警报中的文本。

下面是我编写的类,用于测试弹出窗口是否存在,并确保标题和正文中的文本是正确的:

var TestUtilities = function(){
    this.popup = element(by.css('.popup-container.popup-showing.active'));
    //Tests to see if $ionicPopup.alert exists
    this.popupShouldExist = function() {
        expect(this.popup.isDisplayed()).toBeTruthy();
    };
    //Tests to see if $ionicPopup.alert contains the text provided in the argument exists in the header
    this.popupContainsHeaderText = function (text) {
        this.popupShouldExist();
        expect(this.popup.element(by.css('.popup-head')).getText()).toMatch(text);
    };
    //Tests to see if $ionicPopup.alert contains the text provided in the argument exists in the body
    this.popupContainsText = function (text) {
        this.popupShouldExist();
        expect(this.popup.element(by.css('.popup-body')).getText()).toMatch(text);
    };
};
module.exports=TestUtilities;

还可以查看这个网站了解更多关于在量角器中测试Ionic的信息它讨论了如何检查弹出窗口是否存在:http://gonehybrid.com/how-to-write-automated-tests-for-your-ionic-app-part-3/

我通过设置popup变量成功地测试了Ionic弹出窗口:

var popup = element(by.css('.popup-container.popup-showing.active'));

在测试中:

expect(popup.isDisplayed()).toBeTruthy();

Ionic Popups只是由DOM元素组成,所以你应该能够使用正常的定位器来查找/测试它们。因为它们不是由警报组成的,所以您链接到的问题的解决方案可能没有用。

我明白了-我看到很多问题在那里试图用非常复杂的方式来做它,但最后我尝试了这个,结果是这么简单。

检查元素并找到它的ng-repeat值,然后

var button = element(by.repeater('button in buttons')).getText()

你还需要让浏览器以某种方式等待几秒钟,这样它就不会在离子弹出窗口实际上不存在时解析到测试。

对于这个,browser.sleep(3000);

就是这样!然而,把另一个按钮放进去是一个小问题。var button = element(by.repeater('button in buttons')).get(0).get(1) return undefined不是函数

如果你喜欢这个答案,请接受它!如果我找到了另一个按钮,我就把它放到这里。

相关内容

  • 没有找到相关文章

最新更新