0

xpath からテキストを取得し、文字列に格納したいと考えています。

すべての入力を入力して送信すると、Customercode: IN02732114 (number will dynamic) のような新しいコードが生成されます。

今、私はこのコードを取得して文字列に保存し、後でこの文字列を他のステップで使用して、このコードでデータを検索したいと考えています。

以下のさまざまなスニペットを使用して、xpath からテキストを取得しました。

public static Question customer_code_value() { アクターを返す -> Text.of(CustomerCreatePage.CUSTOMER_CODE_TEXT).viewedBy(actor).asString().substring(15, 26); }

文字列コード = customer_code_value(); // String コードに値を格納しようとしています

ただし、customer_code_value() メソッドは質問に戻り、文字列に格納できません。

テキストを取得して Serenity の文字列に保存する方法について、ヘルプが必要です。私を助けてください ...

4

1 に答える 1

0

要素を見つけるには、次を使用しますTarget

import { Target } from '@serenity-js/protractor';
import { by } from 'protractor';

class CustomerCreatePage {
    static customerCode = () =>
        Target.the('customer code').located(by.xpath(...));
}

要素のテキストを取得するには、次を使用しますText

import { Target, Text } from '@serenity-js/protractor';
import { by } from 'protractor';

class CustomerCreatePage {
    static customerCode = () =>
        Target.the('customer code').located(by.xpath(...));

    static customerCodeText = () =>
        Text.of(CustomerCreatePage.customerCode())
}

操作を実行するには、次substringを使用しますQuestion.map

import { Target, Text } from '@serenity-js/protractor';
import { by } from 'protractor';

class CustomerCreatePage {
    static customerCode = () =>
        Target.the('customer code').located(by.xpath(...));

    static customerCodeText = () =>
        Text.of(CustomerCreatePage.customerCode())
            .map(actor => value => value.substring(15, 26));
}

後で再利用できるように値を保存するには、TakeNote次のようにします。

import { actorCalled, TakeNotes, TakeNote, Note } from '@serenity-js/core';
import { BrowseTheWeb } from '@serenity-js/protractor';
import { protractor } from 'protractor';

actorCalled('Sudhir')
    .whoCan(
        BrowseTheWeb.using(protractor.browser),
        TakeNotes.usingAnEmptyNotepad(),
    )
    .attemptsTo(
        TakeNote.of(CustomerCreatePage.customerCodeText).as('customer code'),
        // do some other interesting things
        Enter.the(Note.of('customer code')).into(someField),
    )
于 2021-03-15T02:03:46.487 に答える