问题标签 [test-framework]

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

javascript - 在生产页面上自动测试本地 javascript 库

我想在使用特定库的生产网页上编写一个自动测试,并将其替换为我在本地拥有的版本。

这对我验证当库的新版本发布到不同页面时它们不会中断(一种冒烟测试)很有用。

对于手动测试 atm,我使用Requestly将网络请求的主机替换到该库,我想知道哪个是最好的测试框架/方法来进行自动测试。

0 投票
0 回答
70 浏览

java - PageFactory 的存储元素

嗨,我有许多页面类,其中包含许多 WebElement,例如其中之一:

问题是我可以在哪里存储这些元素?我不能把它放在另一个类中,因为我的每个 pageClass 都扩展了 BaseExtendablePage,所以无法扩展。在界面中也无法移动元素,因为无法初始化变量。

0 投票
1 回答
109 浏览

selenium - 即使我们有很多方法,我们是否应该在 selenium 关键字驱动的框架中拥有一个动作类?

根据我的理解,关键字驱动框架是,我们为我们执行的每个操作创建一个关键字,并使用这些关键字在 excel 中编写测试用例。例如,打开浏览器、输入用户名、密码、单击登录按钮等,我们为每个操作创建一个关键字,并为每个关键字创建一个方法,并将所有这些方法存储在一个类中,如 actionmethods() 等。

我们使用java反射类来调用这些方法。

如果我们少了没有。应该没问题的方法。我正在做一个小项目,我得到了大约 200 个关键字。所以我要在这里写200个方法。我应该将所有这些方法存储在一个类中吗?

如果我有 1000 个关键字(对于一个大项目)怎么办?

如果我根据页面创建单独的文件分组关键字方法,它会变得非常复杂。如果我们只使用一个类来保存所有方法,有人可以解释一下吗?

谢谢你。

0 投票
2 回答
246 浏览

c++builder - C++ Builder 10.3 Rio - 测试框架

似乎 C++ builder 10.3. 带有一个新的testframework.hpp. 该类Assert不再存在。

谁能告诉我如何使用这个新框架?

我很绝望,因为我写了很多代码,显然 Rio 并不真正兼容。

例如,以下用 Builder 10.2.3 编写的代码行不再起作用:

0 投票
0 回答
122 浏览

flutter-test - 是否可以在颤振测试框架中为测试驱动程序提供基类?

我正在尝试在颤振中创建页面对象模型以进行测试。是否可以在一个类中创建一个测试驱动程序(带有设置和拆卸)并在不同的页面对象类和测试用例中使用它?

0 投票
1 回答
29 浏览

cucumber - 使用黄瓜与子黄瓜测试交互

我们有一种情况,我们有几个产品(前端、应用程序、api),并且每个产品都已经使用 cucumber 进行了测试。现在我们想重新使用已经编写的测试来测试所有产品,所以基本上我们想在前端执行一个操作,然后在应用程序中执行一个操作

在各自的子项目中,这些步骤已经定义并且可以工作,但是我们想要另一个抽象级别,这可能是我们黄瓜或任何其他测试框架还是我们必须编写自己的实现?

0 投票
0 回答
81 浏览

java - Java 的低级 JSON 操作库

我正在寻找可以操作存储为 JSON 的实体的第 3 方库。这旨在用于(黄瓜)测试框架中,以针对特定情况专门定制预定义的 JSON 请求。例如,让我们考虑以下 JSON

当然,上面的 JSON 具有应用程序/测试框架使用的适当 POJO。

在功能文件中,这应该类似于:

在这种情况下,在反序列化实体之前,它的年龄属性将被 -5 替换,因此当我们收到 POJO 时,它已经包含 -5。这样的事情应该可以通过 ObjectMapper 实现,逐个节点导航 JSON 节点并更新一些值。

这是为了确保我们不必更改步骤定义中的代码,以防 API 更改(添加或删除字段)。当然,功能文件本身需要更新,但这可以由非开发人员完成。

此外,使用这种方法可以轻松创建通用 JSON 模板,并且只更新特定字段,而不是在每个场景中从头开始创建复杂实体。

是否存在这样的图书馆或类似的东西?

0 投票
0 回答
40 浏览

c# - SpecFlow 找到步骤定义,但不执行它们

我正在使用 NUnit + SpecFlow + Selenium 构建一个测试框架。我有两个项目的解决方案(到目前为止)。在顶层我有套件框架,所以:PageFactory、DriverFactory、CommonPages 等。另一个项目有实际测试(黄瓜)、测试步骤和测试页面。两个项目都安装了相同的 NuGet 包,第二个项目引用了套件框架。

一切似乎都很好:我有[BeforeTestRun],[BeforeScenario]并且[AfterTestRun]在框架上,当我运行测试时,它能够找到它们并执行它们,但是当代码到达 Cucumber 特性时它只是跳过它们,我的意思是它突出显示它们,但它确实不要钻入它们。

我检查了步骤定义并且它们在那里(我可以去定义并且无论它们在哪个项目中都可以找到它们)并且绑定似乎是正确的。 去定义 寻找定义

到目前为止,这是我的代码示例:

特征:在这个文件中,背景是指放置在框架项目中的文件,场景是指同一项目中的特征步骤。

背景步骤:

场景步骤:

谢谢你的帮助。

0 投票
1 回答
155 浏览

google-apps-script - 仅了解 Appscript 的定价,而不是我们现有 GCP 的整个 GSuite

借口:我是一名测试人员,正在从事一个项目,我们正在从 GCP 中的 Spark 迁移到 BigQuery 我想在我的项目中创建一个测试框架,其中包含一些类似于 Robot 框架的功能。我找到了我认为适合我工作的 Google App Script。

问题:看起来我们没有使用 GSuite,管理层可能不想购买整个 GSuite 进行测试。

我在寻找什么:我想了解是否可以以最低的公司成本使用应用程序脚本,或者是否有任何支持 GCP 的脚本。

当前解决方案:我已经使用 Shell 和 Python 连接到 GCP,但我正在寻找一个谷歌工具本身。整个项目正在迁移到 GCP,如果测试也可以在 Google 工具中进行,那就太好了。我也尝试在 BigQuery 中创建一个测试框架,但它没有我需要的一切来简化使用。

0 投票
0 回答
86 浏览

javascript - 在本地运行并通过 npm 运行时与 Jest 测试的不同行为

很短的问题。我正在检查复选框的不透明度在我的测试中的特定点是否为 0。当我在我的 IDE (Intellij) 中本地运行它时,它可以完美运行并通过。

expect(getComputedStyle(checkbox.getDOMNode()).getPropertyValue('opacity')).toBe('0');

但是,当我通过它运行我的测试时,npm t它会失败,因为它发现不透明度是预期的''而不是'0'预期的。

我也试过

expect(checkbox.getDOMNode()).toHaveStyle('opacity : 0');

并得到相同的结果(即在本地通过并在通过 npm 运行时失败)。

我很困惑。为什么在本地运行和通过 npm 运行之间的测试行为存在差异?