我已经使用空手道6个月了,我真的对它提供的功能印象深刻。我知道空手道是为了单独测试API,但我们也试图将它用于E2E测试,这涉及到一步一步地调用多个场景。我们的功能文件如下1。调用功能1:Scenario1 2。调用功能2:Scenario2....注意:我们正在重新使用一个用于API测试和E2E测试的场景,有时我发现很难记住所有的特性文件。我们是否可以像java那样链式调用场景,我怀疑特性文件会让我们这么做。我们需要你的宝贵建议。如果你觉得我们的方法不正确,请告诉我们
首先,我想引用一下文档:https://github.com/intuit/karate#script-structure
在后台使用def设置的变量将在每个场景
之前重新设置。如果您正在寻找一种每feature
只执行一次某件事的方法,请查看callonce
。另一方面,如果您希望background
中的一个变量被一个scenario
修改,以便以后的人可以看到更新的值--这不是您应该考虑的,您应该将您的“流”组合到一个scenario
中。请记住,您应该能够注释掉scenaria
或跳过一些via标记,而不会影响其他标记。注意,并行运行程序将并行运行scenaria
-s,这意味着它们可以以任何顺序运行。
因此,在默认情况下,我实际上建议团队使用scenaria
-s并在其内部调用多个API。这没有错,我真的不明白为什么有些人认为您应该为每一个get
或post
等都有一个scenaria
。我以为“Hello World”示例会说明这一点,但显然不是。
如果在一个特性
中有多个scenario-s
只需运行该特性,所有scenario-s
都将被执行或“链接”。那有什么问题?
我认为你需要改变你的一些假设。空手道是为集成测试而设计的。如果您确实需要一组单独的测试,一次测试一个API,请创建单独的特性文件。空手道的全部要点是所需的代码很少--代码复制是完全可以的。
让我指给你看谷歌的这篇文章。对于测试自动化,您不应该尝试到处重用东西。弊大于利。
在我的空手道测试中,我需要将响应ID写到txt文件(或任何其他文件格式,如JSON),我想知道它是否有能力做到这一点,我在文档中没有看到其他的。如果是no,那么是否有一个简单的JavaScript函数来执行此操作?
问题内容: 在angularjs中,我想像这样使用,但是我仍然需要寻找按钮。 就像(链接)那样 有没有比这更简单的方法? 注意:从根本上说,当我习惯于导航时,整个页面会刷新,并且导航不受angularjs的控制。如果我不使用链接,如何在javascript代码中导航页面? 我是否需要创建一个自定义指令来实现? 问题答案: 您是正确的;您只需要正确的服务。是您要寻找的。查看文档以获取全部详细信息,但
问题内容: 我们有一个SQL联系人数据库,可以无数次链接到我们所有的项目信息中。 最近建议我们将这些信息的联系人部分提供给最终用户的电子邮件客户端,因此我们正在考虑设置LDAP服务器。 有没有可以让我们将数据库中的信息(可能是我怀疑的视图)映射到LDAP服务器的信息? 问题答案: OpenLDAP支持使用back- sql 由元数据驱动的SQL后端。测试的状态因您选择的RDBMS后端而异。
问题内容: 我的服务器上有一个文件夹,我有许多符号链接指向该文件夹。此后,我创建了一个新文件夹,并且想要更改所有这些符号链接以指向新文件夹。我曾考虑过用新链接的符号链接替换原始文件夹,但是如果我继续这种做法,它看起来很快就会变得非常混乱。 我一直在做的是手动更改符号链接以指向新文件夹,但是我可能错过了一些。 有没有一种方法可以检查是否有指向特定文件夹的符号链接? 问题答案: 我会使用find命令。
在我的应用程序中,我想允许用户打开Google Play商店来查看我的所有其他应用程序。在iOS中,我只是使用以下(示例)iTunes链接将它们全部拉上来:
我正在使用一个只允许导航中链接的CMS。有一个实例,我有一个子菜单,但没有附加页面。见下文。 菜单1 子菜单 项目1 项目2 所有三个顶级项目(菜单1、2、3)必须是可单击+悬停的。“子菜单”不可点击,但用户需要悬停以查看item1和Item2。 如果不是CMS中的限制,这当然不会是一个问题。如果我添加以下CSS,那么我就不能单击或悬停。