使用量角器以布尔值获取元素可用性状态

我试图获取使用'If'条件的元素目前的状态,但不幸的是我不能得到'true'或'false'的结果,而是我越来越喜欢(当元素可用时,我得到的结果为'true',当元素不可用时,我会收到如下所示的错误消息)

  • 失败:找不到使用locator的元素:By(css selector,.alert-message.ng-binding.alert.alert-success)
  • 以下是我使用的代码

    describe("test 1", function () {
        it("testing", function () {
            var userCreationSuccessConfirmationMsg = element(by.className('alert-message ng-binding alert alert-success'));
            var userCreationFailureConfirmationMsg = element(by.className('alert-message ng-binding alert alert-danger'));
    
            browser.driver.get(testData.UBETURL);
            login.loginToUbet('sysadmin', 'password');
            console.log('Somesh');
            element(by.linkText('Configuration')).click();
            element(by.linkText('Create New User')).click();
            element.all(by.id('saveUser')).first().click();
            console.log(expect(userCreationSuccessConfirmationMsg.isDisplayed()));
            userCreationSuccessConfirmationMsg.isDisplayed().then(function (status) {
                if (status) {
                    console.log(status);
                } else {
                    console.lgo(status);
                }
            });
        });
    });
    

    如何使用if在布尔值中获取元素可用性状态,请在这里指导我?


    您可以使用isPresent来确定页面中是否存在元素:

    userCreationSuccessConfirmationMsg.isPresent().then(function (status) {
        if (status) {
            console.log('present');
        } else {
            console.log('not present');
        }
    });
    

    文档:

    http://www.protractortest.org/#/api?view=ElementFinder.prototype.isPresent


    如果你知道成功的时候(并且只有当)返回的状态是'真',那么你可以检查确切的文本是字符串:

    userCreationSuccessConfirmationMsg.isDisplayed().then(function (status) {
        if (status === 'true') {
            ...
        }
    });
    

    试试这个,我相信当所有的顺利通过时你并不需要记录:

    expect(userCreationSuccessConfirmationMsg.isDisplayed()).toBeTruthy('Your message that should be printed when expectation is failed.')
    

    茉莉花可以接受期望的可选信息,几乎所有的匹配者都支持它。

    你也可以看看我的图书馆 - 它确实以聪明的方式匹配那个元素 - 在期望失败之前会等待元素。 当您的元素出现延迟时很有用。 功能请求是受欢迎的。

    https://github.com/Xotabu4/jasmine-protractor-matchers

    链接地址: http://www.djcxy.com/p/13023.html

    上一篇: Get the element availability status in boolean using protractor

    下一篇: Bitwise operations on boolean values