问题标签 [thucydides]

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 回答
382 浏览

java - 无法在基于 Jbehave 的 serenity-bdd 框架中使用 androiddriver 或 iosdriver?

我无法让 android 驱动程序在基于 jbehave 的 serenity-bdd 项目中正常工作

我使用 serenity-jbehave 架构创建了项目,并在生成的 AcceptanceTestSuite 类中创建了一个具有所有相关所需功能的 AndroidDriver。(在 Junit 测试中使用驱动程序配置时,它可以正常工作,因此我相信任何驱动程序配置都没有问题)。

我的问题是,一旦我的故事开始执行,该项目似乎完全忘记了这个驱动程序,而是使用任何已设置为默认值的驱动程序。

我错过了什么?我应该在 serenity.properties 文件中进行此配置吗?(我发现将 android 添加为 webdriver.driver 配置选项不起作用)。

感谢您的任何回复。

0 投票
0 回答
1008 浏览

java - 如何在 Serenity-BDD 框架的 PageObject 类中使用 MobileElement?

是否有人在由 Serenity BDD JBehave 框架管理的 PageObject 类中使用了 MobileElement 类?

这是我想与我的 Appium 驱动程序一起使用的 PageObject 类:

这就是我的工作,有点乱

这是我到目前为止所尝试的:

无法通过将 AppiumDriver 显式传递给构造函数来实例化 PageObject,因为框架在内部使用 WebDriverFacade 类。

无法将找到的 WebElement 对象显式转换为 MobileElement 对象(WebElement 由 WebElementFacade 实现时引发的类转换异常)。

任何人都可以帮忙吗?

谢谢

0 投票
1 回答
383 浏览

selenium - 当必须运行底层 REST API 时,如何避免并行运行 Selenium 测试的冲突?

我有一个 Web 应用程序,需要在多个环境中的多个浏览器中进行测试(即 Windows 和 Linux* 中的 Chrome、Firefox 和 Internet Explorer(* Internet Explorer 明显例外))。

已经使用 JBehave、Selenium 和 SerenityBDD (Thucydides) 用 Ja​​va 编写了测试。这些测试使用底层 REST API,测试是否可以使用 UI 成功创建和删除对象。

我正在使用 Selenium Grid,并希望在并行节点上运行测试;然而,令人担忧的是,当测试执行底层 REST API 时,可能会出现冲突。

是否可以将参数作为运行测试的 Jenkins 作业配置中的参数传递给测试,以便依赖于它们正在执行的节点的测试略有不同?(例如,在 Chrome 上创建了一个名为“MYOBJECT-CHROME”的对象,而在 Firefox 上创建了一个名为“MYOBJECT-FIREFOX”的对象,这意味着可以避免任何 REST API 冲突?)

0 投票
0 回答
84 浏览

maven - 从 maven pom 中删除 CVS 目录,尤其是结合 serenityBDD

我有一个serenityBDD(以前的thucydides)测试项目,它使用JBehaveSelenium存储在CVS...中,但是当我运行测试执行时,我还将CVS文件夹显示为功能/特性和故事:

serenityBDD 生活文档

serenityBDD发生这种情况是因为turtoise cvs 自动生成的所有 CVS 文件夹都是 features/stories/whatever的约定优于配置功能。

如何从执行中排除这些文件夹?我已经尝试通过放置来修改POM和排除所有目录CVS

到处都是插件......但这对我没有帮助,它们仍然存在......我认为解决方案必须是修改mvn pom但实际上我不是使用mvn.

这是POM(只有<build><profile>部分):

0 投票
1 回答
1133 浏览

report - 从宁静报告中删除忽略/跳过的场景

我的故事文件中有多个场景,我正在使用元标记运行这些场景,这将过滤掉我不想执行的场景。但在 Serenity 报告中,它显示它们被忽略,这使得它看起来很难看,因为被忽略的场景比执行的场景要多得多。有什么办法可以从宁静生成的报告中删除那些被忽略的场景?

0 投票
1 回答
8963 浏览

logging - 如何更改 serenity-bdd 日志设置

我在我的项目 IntelliJ IDEA 作为 IDE 上使用Serenity BDD进行测试自动化。我想更改每次运行测试时可以看到的日志的格式和调试级别。

例如,我只想查看来自 [main] 线程的日志:

我知道如何为 logback 执行此操作,但我找不到任何有关如何以及在何处更改 Serenity 的日志设置的信息。

0 投票
1 回答
766 浏览

jbehave - 如何根据场景元数据过滤 jbehave 示例表行

有没有一种方法可以在运行时使用场景元数据过滤 jbehave 示例表行?例如

场景:我的场景标题元:

例子:

当我们运行这个场景时,它应该只迭代第 1 行和第 3 行,基于场景上的元数据集。我想要做的是跨场景/故事外部化数据,并尝试使用适用于特定场景的过滤数据行。

我发现了一些类似的基于元过滤的主题,但并不特定于此。

感谢任何帮助。谢谢

0 投票
0 回答
189 浏览

multithreading - Jbehave - thucydides 多线程执行选定的故事

我的组织正在使用使用 Jbehave-Thucydides-Maven 设计的 selenium 自动化框架。该框架由 1500 多个测试组成,但是,并非每次都需要执行所有测试。每当我们执行小批量(比如 10 个左右的脚本)时,所有 1500 多个脚本都会加载到系统中,并对“元”标签(在执行时传递)进行过滤以执行选定的 10 个脚本。这导致总执行时间较长,其中实际脚本执行仅需要 10 分钟,而加载脚本和过滤需要 15 分钟以上,从而导致总执行时间较长。下面是用于触发多线程执行的 maven pom 的快照。您能否告知需要进行哪些更改,以便在系统中仅加载所需的 10 个脚本,而不是整个 1500 多个脚本。在此处输入图像描述

0 投票
1 回答
173 浏览

java - 普通硒和修昔底德报告

我有普通的硒 ui 测试,我想在我该怎么做之后得到很好的修昔底德报告。在 maven pom.xml 我有这样的配置文件:

它应该生成报告,但事实并非如此。如何从普通硒测试中获得修昔底德报告

0 投票
1 回答
600 浏览

java - 在运行 JBehave 测试时,如何从 Serenity 报告中排除 @skips?

所以我们有如下所示的测试:

@skip每当我们仍在处理它或我们知道它将无法正常工作时,我们都会将其放在那里。

我们希望获得 Serenity 报告,但我们不希望它包含跳过的故事。我们如何才能将他们排除在报告之外?