小编Tre*_*opz的帖子

在 vs 测试运行器中显示嵌套类的层次结构(使用 XUnit)

我在寻找如何使用 XUnit 在 MS Test Runner(与 Resharper 测试运行器中相同)中根据类层次结构显示测试时遇到问题。

我的结构类似于下面的示例:

public class ManagerTests
{
    public class Create
    {
        public class When_Something
        {
            [Fact]
            public void Then_this_should_happen()
            {
            }
        }

        public class When_Something_else
        {
            [Fact]
            public void Then_else_should_happen()
            {
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望它显示为(在测试运行程序中):

ManagerTests
    Create
        When_something
            Then_this_should_happen
        When_something_else
            Then_else_should_happen
Run Code Online (Sandbox Code Playgroud)

但我似乎最终得到的是:

ManagerTests+Create+When_something
    Then_this_should_happen
ManagerTests+Create+When_something_else
    Then_else_should_happen
Run Code Online (Sandbox Code Playgroud)

我查看了xunit 配置设置,但似乎没有找到任何调整此设置的方法。我尝试了不同的分组选项,但没有找到任何解决此问题的方法。发现一些较旧的帖子询问有关此问题的问题(如帖子),但到目前为止我还没有找到如何做到这一点。

所以问题是:我怎样才能停止嵌套的类名串联(class1+class2+class3)并呈现它们的层次结构?

c# xunit visual-studio-test-runner

10
推荐指数
1
解决办法
571
查看次数

Selenium - 单击链接会打开一个新选项卡

我已经看到很多关于如何在新选项卡中打开链接的线索,但是如果您有一个创建新选项卡的链接并且您需要验证标题呢?我需要做的就是单击链接 - >验证新选项卡是否具有正确的标题 - >关闭选项卡并继续在原始选项卡上.在此先感谢您的帮助!

java selenium automation selenium-webdriver

6
推荐指数
1
解决办法
7033
查看次数

Selenium / ChromeDriver - 单击元素的中心

所以我今天遇到了一个我没有遇到过的新问题,它与 Chrome 驱动程序的性质有关(我相信 Chrome 是唯一这样做的......)。我知道当您使用 .click() 单击某个元素时,它会在中心单击。然而,这很麻烦,因为我试图单击一个复选框,而该复选框恰好有一个嵌套在中心的链接。 在此输入图像描述

我也尝试过使用 JavaScript Executor,但没有成功。有谁知道解决这个问题的方法吗?是的,我尝试过访问该框,但它没有我可以使用的标识符。

在此输入图像描述

java automation selenium-chromedriver selenium-webdriver

5
推荐指数
1
解决办法
5855
查看次数

Cucumberjs 数据表 - 如何将其转换为 .raw()

所以我实现了一个 Cucumberjs 数据表,但是我认为我做得不对..这是我所拥有的

this.And(/^If I click the row "([^"]*)" then I should the following nested information$/, function (rowName, data) {
        resultPage.clickRow(rowName);
        data = dataTable.raw();
        return console.log(data);
    });
Run Code Online (Sandbox Code Playgroud)

我的小黄瓜步骤看起来像

Then If I click the row "Summary" then I should the following nested information
      | Tax       | 11.50
      | Gratuity  | 4.50
      | Total     | 26.59
Run Code Online (Sandbox Code Playgroud)

现在我只是想获取此表并将其打印出来以确保它以正确的格式返回,但我收到词法错误并且测试甚至无法开始。你如何在Javascript中实现这个?我似乎无法在网上找到 cucumberjs 的任何文档或示例,但是当然有几个针对 java/cucumber 的文档或示例。

另外,我知道词法错误与它期望这是一个场景大纲这一事实有关,并且我没有在表之前指定示例:。然而,这不应该是一个场景大纲。这应该是一个数据表..

javascript cucumber protractor cucumberjs

4
推荐指数
1
解决办法
1万
查看次数

使用 WinAppDriver 单击之前等待元素

我有一个如此微不足道的问题,但我很难让我的代码在继续之前正确等待对象。

我为我的驱动程序设置了以下配置

session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(60);
Run Code Online (Sandbox Code Playgroud)

我原以为这意味着它会等待至少 60 秒,然后才会抛出与元素识别相关的错误,例如

Message: System.InvalidOperationException : An element could not be located on the page using the given search parameters.
Run Code Online (Sandbox Code Playgroud)

然而,这种情况并非如此。当我尝试调用以下命令时,大约 2 秒后出现错误。

WindowsElement btn = session.FindElementByXPath("//Button[@Name='NEXT']");
btn.Click();
Run Code Online (Sandbox Code Playgroud)

该错误是在我刚刚定义按钮属性的行上引发的,而不是在实际的 Click() 方法上引发的。我没有正确传递元素属性吗?为什么按钮的实例化也会对其进行搜索?

c# winappdriver

4
推荐指数
1
解决办法
1万
查看次数

TestNG 线程计数究竟有什么作用?

所以我在所有运行并行测试的 xml 文件中使用线程数。我注意到了一些事情......当我增加它时,我通常会得到更好的结果,但是在 Selenium Grid 上占用了更多空间。如果我将它降低到 10 左右,我会出现很多超时并且我的测试失败。线程数到底有什么作用?每个 Test 类是一个线程还是每个 @Test 一个线程?后台到底发生了什么?

java testng selenium automation

3
推荐指数
1
解决办法
8827
查看次数

Bash - Awk排序 - 不排序

awk '{for(i=1; i<=NF; i++) printf("%d ",$i)}' | sort -n
Run Code Online (Sandbox Code Playgroud)

它读取的文件就像

55 89 33 20
Run Code Online (Sandbox Code Playgroud)

并正常打印出来,而不是按数字排序.为什么?

linux bash

2
推荐指数
1
解决办法
288
查看次数

使 Selenium 测试稳定

我对自动化有一个问题。并不是说我不同意这绝对是测试应用程序的最佳方法,但从某种意义上说,实现稳定性是非常困难的。你们如何让测试稳定?当然,我添加了显式等待和偶尔的等待thread.sleep(),但它们永远不会 100% 稳定。这个帖子的目的是发布一些你们发现的对自动化测试产生影响的提示和技巧

testng selenium automation

2
推荐指数
1
解决办法
3512
查看次数