Docs: https://serenity-js.org | Issues: https://github.com/serenity-js/serenity-js/issues | Backlog: https://github.com/orgs/serenity-js/projects
renovate[bot] on chalk-4.x
fix(deps): update dependency ch… (compare)
jan-molak on gh-pages
Updates (compare)
github-actions[bot] on master
chore(release): v2.26.1 [ci ski… (compare)
github-actions[bot] on v2.26.1
renovate[bot] on cucumber-cucumber-7.x
chore(deps): update dependency … (compare)
jan-molak on master
fix(cucumber): upgraded Cucumbe… (compare)
jan-molak on webdriverio
test(webdriverio): extracted St… test(webdriverio): integration … test(mocha): adjusted timeouts … and 1 more (compare)
renovate[bot] on cucumber-cucumber-7.x
chore(deps): update dependency … (compare)
renovate[bot] on babel-monorepo
fix(deps): update dependency @b… (compare)
property
changes the context of the assertion to any property of the object being investigated
Ensure.that({ name: 'Jan' }, property('name', startsWith('J')))
const MyInteraction = () =>
Interaction.where(`#actor does something`, actor =>
BrowseTheWeb.as(actor).actions().mouseMove(card, {x: 100, y: 100}).mouseDown().mouseMove({x: 0, y: -400}).perform()
)
Hey all
I am currently rebuilding the serenity html report to a more "modern" single page application. I would appreciate your feedback on the demo https://lemon-desert-049177e03.azurestaticapps.net/
Hey folks, 2.18.0 is out!
Actors can be used in beforeAll
/afterAll
-style hooks of your favourite test framework.
This means that you can, for example, have an actor that spins up a server that keeps running throughout the entire test suite execution.
You can also share notes between actors instantiated in beforeAll
, before
and within a test method using the ability to TakeNotes.usingASharedNotepad
Also, any Discardable
abilities that an actor has been given will be discarded:
beforeEach
-style hook or within a scenariobeforeAll
-style hookThis release also removes several deprecated APIs:
Serenity#setTheStage(...stageCrewMembers: StageCrewMember[]): void
- use configure
Serenity#callToStageFor(actors: Cast): Stage
- use engage
Stage#callFor(actors: Cast): Stage
- use actorCalled
and [actorInTheSpotlight
]https://serenity-js.org/modules/core/function/index.html#static-function-actorInTheSpotlight()Actor.named(name: string): Actor
- use actorCalled
describe('Serenity/JS 2.18.0', () => {
before(() =>
actorCalled('Alice')
.whoCan(
ManageALocalServer.runningAHttpListener(app),
TakeNotes.usingASharedNotepad(),
)
.attemptsTo(
StartLocalServer.onRandomPort(),
TakeNote.of(LocalServer.url())
));
beforeEach(() =>
actorCalled('Bob')
.whoCan(
BrowseTheWeb.using(protractor.browser),
TakeNotes.usingASharedNotepad(),
));
it(`lets actors perform in “before all” hooks and share notes across test scenarios`, () =>
actorCalled('Bob').attemptsTo(
Navigate.to(Note.of(LocalServer.url()))
// ...
));
});
ArtifactArchiver.storingArtifactsAt('./target/site/serenity')
WARNING: An illegal reflective access operation has occurred
- Is this common ?