【问题标题】:syntax for verifying if the element is present for protractor serenity用于验证元素是否存在用于量角器宁静的语法
【发布时间】:2018-03-09 05:54:43
【问题描述】:

检查元素是否存在的语法是什么?我需要检查该元素是否存在以便在我的测试中走得更远。如果该元素不存在,我想执行一些其他操作。

这是我正在尝试的,但语法在宁静中不起作用:

import {Click, PerformsTasks, Task, step, Wait, Is} from "serenity-js/lib/screenplay-protractor";
import {ProductDetailPageMap} from "../interactions/element-mappings/ProductDetailPageMap";
import { Interaction, UsesAbilities, AnswersQuestions } from "serenity-js/lib/screenplay-protractor";
import { Target, Attribute, BrowseTheWeb } from "serenity-js/lib/screenplay-protractor";
import { ElementArrayFinder, ElementFinder, $$, browser } from "protractor";


export class AddItemToWishlist implements Task {
    static called(): AddItemToWishlist {
        return new AddItemToWishlist();
    }

    private parseSizeList(elements: ElementArrayFinder): any {
        if (elements.isPresent()) {
            Click.on(ProductDetailPageMap.addToWishlist)
        } else {
            Click.on(ProductDetailPageMap.removeFromWishlist)
            browser.sleep(2000);
            Click.on(ProductDetailPageMap.addToWishlist)
            }
    }

    @step('{0} Add Item to the Wishlist')
    performAs(actor: PerformsTasks): PromiseLike<void> {
        return actor.attemptsTo(
            //return 
        );
    }
}

我不确定要在退货中添加什么??

【问题讨论】:

  • 什么元素?究竟是什么语法?请阅读How to Ask 然后edit 你的问题来描述你想做什么,你尝试了什么,你得到了什么结果。如果这是关于语言或 API 的一般语法的问题,您可能会被要求检查 API 文档作为研究的一部分。

标签: protractor serenity-bdd cucumber-serenity serenity-js


【解决方案1】:
var logoutButton =  element("//button[@type='submit']/span[.='Add to wishlist']");
logoutButton.isPresent().then(function (result) {
        if (result) {
              // Element IS PRESENT...DO SOMETHING
        } else {
            // Element IS NOT PRESENT...DO SOMETHING
        };
    });

【讨论】:

  • IsPresent():如果元素存在于 DOM 中则返回 TRUE,否则返回 false
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 2016-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多