问题标签 [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.
java - 无法在基于 Jbehave 的 serenity-bdd 框架中使用 androiddriver 或 iosdriver?
我无法让 android 驱动程序在基于 jbehave 的 serenity-bdd 项目中正常工作
我使用 serenity-jbehave 架构创建了项目,并在生成的 AcceptanceTestSuite 类中创建了一个具有所有相关所需功能的 AndroidDriver。(在 Junit 测试中使用驱动程序配置时,它可以正常工作,因此我相信任何驱动程序配置都没有问题)。
我的问题是,一旦我的故事开始执行,该项目似乎完全忘记了这个驱动程序,而是使用任何已设置为默认值的驱动程序。
我错过了什么?我应该在 serenity.properties 文件中进行此配置吗?(我发现将 android 添加为 webdriver.driver 配置选项不起作用)。
感谢您的任何回复。
java - 如何在 Serenity-BDD 框架的 PageObject 类中使用 MobileElement?
是否有人在由 Serenity BDD JBehave 框架管理的 PageObject 类中使用了 MobileElement 类?
这是我想与我的 Appium 驱动程序一起使用的 PageObject 类:
这就是我的工作,有点乱
这是我到目前为止所尝试的:
无法通过将 AppiumDriver 显式传递给构造函数来实例化 PageObject,因为框架在内部使用 WebDriverFacade 类。
无法将找到的 WebElement 对象显式转换为 MobileElement 对象(WebElement 由 WebElementFacade 实现时引发的类转换异常)。
任何人都可以帮忙吗?
谢谢
selenium - 当必须运行底层 REST API 时,如何避免并行运行 Selenium 测试的冲突?
我有一个 Web 应用程序,需要在多个环境中的多个浏览器中进行测试(即 Windows 和 Linux* 中的 Chrome、Firefox 和 Internet Explorer(* Internet Explorer 明显例外))。
已经使用 JBehave、Selenium 和 SerenityBDD (Thucydides) 用 Java 编写了测试。这些测试使用底层 REST API,测试是否可以使用 UI 成功创建和删除对象。
我正在使用 Selenium Grid,并希望在并行节点上运行测试;然而,令人担忧的是,当测试执行底层 REST API 时,可能会出现冲突。
是否可以将参数作为运行测试的 Jenkins 作业配置中的参数传递给测试,以便依赖于它们正在执行的节点的测试略有不同?(例如,在 Chrome 上创建了一个名为“MYOBJECT-CHROME”的对象,而在 Firefox 上创建了一个名为“MYOBJECT-FIREFOX”的对象,这意味着可以避免任何 REST API 冲突?)
maven - 从 maven pom 中删除 CVS 目录,尤其是结合 serenityBDD
我有一个serenityBDD
(以前的thucydides
)测试项目,它使用JBehave
并Selenium
存储在CVS
...中,但是当我运行测试执行时,我还将CVS
文件夹显示为功能/特性和故事:
serenityBDD
发生这种情况是因为turtoise cvs 自动生成的所有 CVS 文件夹都是 features/stories/whatever的约定优于配置功能。
如何从执行中排除这些文件夹?我已经尝试通过放置来修改POM
和排除所有目录CVS
到处都是插件......但这对我没有帮助,它们仍然存在......我认为解决方案必须是修改mvn pom
但实际上我不是使用mvn
.
这是POM
(只有<build>
和<profile>
部分):
report - 从宁静报告中删除忽略/跳过的场景
我的故事文件中有多个场景,我正在使用元标记运行这些场景,这将过滤掉我不想执行的场景。但在 Serenity 报告中,它显示它们被忽略,这使得它看起来很难看,因为被忽略的场景比执行的场景要多得多。有什么办法可以从宁静生成的报告中删除那些被忽略的场景?
logging - 如何更改 serenity-bdd 日志设置
我在我的项目 IntelliJ IDEA 作为 IDE 上使用Serenity BDD进行测试自动化。我想更改每次运行测试时可以看到的日志的格式和调试级别。
例如,我只想查看来自 [main] 线程的日志:
我知道如何为 logback 执行此操作,但我找不到任何有关如何以及在何处更改 Serenity 的日志设置的信息。
jbehave - 如何根据场景元数据过滤 jbehave 示例表行
有没有一种方法可以在运行时使用场景元数据过滤 jbehave 示例表行?例如
场景:我的场景标题元:
例子:
当我们运行这个场景时,它应该只迭代第 1 行和第 3 行,基于场景上的元数据集。我想要做的是跨场景/故事外部化数据,并尝试使用适用于特定场景的过滤数据行。
我发现了一些类似的基于元过滤的主题,但并不特定于此。
感谢任何帮助。谢谢
multithreading - Jbehave - thucydides 多线程执行选定的故事
我的组织正在使用使用 Jbehave-Thucydides-Maven 设计的 selenium 自动化框架。该框架由 1500 多个测试组成,但是,并非每次都需要执行所有测试。每当我们执行小批量(比如 10 个左右的脚本)时,所有 1500 多个脚本都会加载到系统中,并对“元”标签(在执行时传递)进行过滤以执行选定的 10 个脚本。这导致总执行时间较长,其中实际脚本执行仅需要 10 分钟,而加载脚本和过滤需要 15 分钟以上,从而导致总执行时间较长。下面是用于触发多线程执行的 maven pom 的快照。您能否告知需要进行哪些更改,以便在系统中仅加载所需的 10 个脚本,而不是整个 1500 多个脚本。在此处输入图像描述
java - 普通硒和修昔底德报告
我有普通的硒 ui 测试,我想在我该怎么做之后得到很好的修昔底德报告。在 maven pom.xml 我有这样的配置文件:
它应该生成报告,但事实并非如此。如何从普通硒测试中获得修昔底德报告
java - 在运行 JBehave 测试时,如何从 Serenity 报告中排除 @skips?
所以我们有如下所示的测试:
@skip
每当我们仍在处理它或我们知道它将无法正常工作时,我们都会将其放在那里。
我们希望获得 Serenity 报告,但我们不希望它包含跳过的故事。我们如何才能将他们排除在报告之外?