问题标签 [serenity-js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
410 浏览

element - 使用 Serenity-js 框架,如何定位一个影子元素,其父元素的 id 是一个普通的 DOM

请告诉我如何使用 serenity-js Target 定位以下表单中的元素。

下面是我试图自动化的页面的 Dom。 在此处输入图像描述 所以这里是一个下拉列表,你可以看到它的 id="splc" 是一个普通的 DOM .. 但该下拉列表中的内容都是阴影元素。我的要求是访问下拉列表中的内容。

现在我什至无法通过 px-component 标签(这是普通的 DOM)上的普通 xpath 单击下拉菜单。在那个 px 组件标签内,我可以看到它有一个阴影元素 #label,这是我需要单击的确切元素。问题出在我的 html 页面中,所有下拉列表都具有与阴影元素相同的#label,并且它们的父级是具有唯一 ID 的普通 xpath。

当我在 chrome 控制台上使用 Jquery

我可以单击所需的下拉菜单。

但是我怎样才能对 serenity-js 框架工作做同样的事情。我想使用 SERENITY-JS 概念执行量角器中的以下功能。

因为 serenity-js 总是需要一个目标,因为 Task 在活动中需要它。怎么能一样呢?请帮我。

0 投票
1 回答
1141 浏览

drag-and-drop - 在 serenity-js 中执行拖放操作

我正在寻找一种使用 serenity-js ( http://serenity-js.org/ )执行拖放的方法,但我找不到任何示例。我能找到的是量角器方式,但是因为量角器是在 serenity-js 框架中烘焙的,所以我想知道如何让它工作。(对不起,我是 TS 和 javascript 的新手)

更新:

我从 Jan Molak 实现了 HTML5 解决方法,但收到以下错误消息: 在此处输入图像描述

这是我的任务实现:

0 投票
1 回答
2522 浏览

typescript - 无法读取量角器黄瓜 e2e 测试的步骤定义文件

我是量角器的新手。

我将 Protractor 与 typescript 和 Serenity js 库一起用于报告目的。

项目结构:项目结构

问题记录 :

[16:05:18] I/launcher - chrome #01 通过

我的配置文件:protractor.conf.ts

};

功能文件:AngularHome.feature 功能:Angular 主页

@CucumberScenario场景:angularjs主页菜单标题列表给定我访问Angular主页然后单击页面上的Learn Header菜单元素然后计算学习菜单标题的下拉列表

@CucumberScenario 场景:在主页的基本选项卡中键入名称鉴于我访问了 Angular 主页

然后在基本选项卡的名称框中输入文本

我的 angularHomePage.ts 文件 -

});

Then (/^Enterting text in the name box of the Basics tab$/,async() => { await element(by.model('yourName')).sendKeys("RamaSwamy");

}); });


我的页面类 - homePage.ts


我的 package.json 文件


问题描述 - 未识别我的步骤定义文件。它显示未定义的消息。

我使用的是 cucumber 1.3.3 而不是 cucumber 3。在带有 serenity 库的 Cucumber 3 中,缺少一个类文件,并且更多的 serenity 库报告比黄瓜报告更容易理解。


我猜我的步骤文件路径是错误的。所以也尝试了不同的路径。但没有运气。

生成宁静报告。我需要运行 - npm 运行报告。最后。但所有步骤都处于待处理状态,附上下图。 宁静报告


请帮忙,为什么无法识别这些步骤?为什么它们是未定义的?

0 投票
1 回答
591 浏览

javascript - Serenity/JS 的基本问题?

我刚刚开始考虑切换到 Serenity/JS,并想知道拥有基本问题/任务是否是最佳实践?

很多时候我会想检查一个字段是否为空白或有错误,所以我创建了一个“基本问题”来实现这一点:

基本问题

然后我创建特定于场景的类,但只是扩展基本问题:

节点导出的美妙之处让我可以导出一个实例化的问题类以在我的规范中使用。

我只是想知道我是否在滥用 Serenity/JS 框架,或者这是否可以?我想建立一个好的框架,并想确保我所做的一切都是为了最佳实践。任何反馈表示赞赏!

0 投票
1 回答
454 浏览

protractor - 如何使用 chai 断言和宁静比较两个定位器值

我是 Serenity 和 Protractor 的新手,因此需要您的帮助来完成以下查询。使用 - Protractor、Chai 断言、Screenplay serenity、Cucumber、TypeScript

我的定位器文件中有以下 2 个定位器:

static test1 = Target.the("test1).located(by.xpath(...**...);

static test2 = Target.the("test2).located(by.xpath(...**...);

我必须比较 test1 和 test2 的值。

Steps.ts 文件:

expect(actor.toSee(Text.of(locatorClass.test1))).to.eventually.equal("21");

如果我传递一些恒定值,它就可以工作。但我必须通过其他定位器。如何比较这两个定位器?

0 投票
2 回答
730 浏览

typescript - 如何动态化用户名和密码

当我在黄瓜中输入演员姓名时,如何使用数据驱动或动态用户名和密码,它应该使用相应的密码,可能来自 json 文件或取决于演员的其他内容。

所以当我在功能文件中输入这个

//example.feature

// example.steps.ts

// 登录用户.ts

0 投票
1 回答
982 浏览

protractor - 用于验证元素是否存在用于量角器宁静的语法

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

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

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

0 投票
1 回答
212 浏览

serenity-js - serenity-js - 错误:TypeError:_.chain(...).toPairs 不是函数

我在 package.json 中有一个包含以下内容的项目,我在这篇文章中看到了同样的错误,并在 Jan 之前采取了相同的步骤进行修复,但无济于事。我吹走了我的 node_modules 但仍然收到此错误。有任何想法吗?

[09:57:33] I/local - 启动 selenium 独立服务器... [09:57:42] I/local - Selenium 独立服务器在http://19.99.39.19:63273/wd/hub [09: 57:59] E/launcher - 错误:TypeError:_.chain(...).toPairs 不是函数

0 投票
1 回答
2928 浏览

cucumberjs - cucumber function has 1 arguments, should have 2 (if synchronous or returning a promise)

I have a feature file with:

I have a steps definition file with:

here is the ViewAllAccountNames class that's being called in the steps definition

so given all that info, I run the test and keep getting function has 1 arguments, should have 2 (if synchronous or returning a promise) or 3 (if accepting a callback) (below is the error)

I cant tell if its breaking on the argument or an error inside my code

any ideas?

0 投票
1 回答
112 浏览

cucumber - serenity-js / cucumber / chai Promise AssertionError 需要一些帮助

我失去了它,我觉得我做对了但无法弄清楚为什么这个简单的测试失败了

我有一个feature像这样的文件

我有一个definition像这样的文件

我有一个pageObject像这样的文件

这是我的课

当我在课堂上通过 webstorm 进行调试时,ViewAllAccountNames我得到了

然后当我到达我的 See.if 函数时,我得到了

所以我的困境是这样的:我认为这源于我的 See.if 函数没有以正确的方式设置?