0

我是 Selenium 和 TFS 构建的新手。我用 Selenium WebDriver 编写了一些 UI 测试用例,它在我的本地环境中运行良好。现在,我想在 TFS 构建中运行这些 UI 测试用例。我对现有的构建任务执行了以下操作。

  • 添加了 Visual Studio 测试平台安装程序
  • 添加了 Visual Studio 测试任务

vsTest 在下面的行中失败并出现错误:System.Net.WebException:底层连接已关闭:连接意外关闭。

new DriverManager().SetUpDriver(new ChromeConfig());

我发现上面的代码行尝试检查最新版本的 WebDriver 并从https://chromedriver.storage.googleapis.com下载(如果不存在) 。但是,在 TFS 构建服务器上,外部 URL 已关闭,这可能就是原因。仍然不确定,我正在尝试在构建服务器上打开这个 Url。

[更新]我设法在 TFS 构建服务器上打开了 googleapis.com Url。现在浏览 microsoft.com 的示例测试正在运行,但我自己的网站(例如:http://domain 或 localhost/page.aspx)的测试仍然失败。收到以下错误:

OpenQA.Selenium.WebDriverException : unknown error: net::ERR_CONNECTION_REFUSED
(Session info: headless chrome=87.0.4280.66)

仅供参考,TFS 构建服务器上没有 IIS。此外,这是一个 Asp.Net WebForms 应用程序。

我需要在 IIS 或 IIS Express 上托管网站/代码吗?只是想知道没有托管如何测试能够浏览它?很抱歉这些问题,第一次这样做并且没有太多想法,如何将所有东西设置在一起。

注意:我想在构建中而不是在发布中执行此操作。在构建管道中是否可行?还是必须在发布管道中完成?我已经在无头模式下为 Chrome 配置了测试

4

1 回答 1

2

据我所知,Selenium UI 测试可以在构建和发布管道中执行。

OpenQA.Selenium.WebDriverException:未知错误:找不到 Chrome 二进制文件

问题似乎是 chrome 驱动程序找不到 chrome.exe 文件。

由于您使用的是 TFS 运行测试,因此您需要确保在代理所在的机器上安装了 Chrome。如果只安装了 chrome 驱动程序,您将面临这个问题。

如果你已经安装了 Chrome,你可以检查 chrome.exe 的文件路径。

根据ChromeDriver - 要求

在此处输入图像描述

另一方面,这个问题可能与chrome的版本有关,这是一个类似问题的open ticket,你可以参考一下。

您可以尝试运行以下脚本并检查它是否可以工作:

npm i chromedriver --chromedriver_version=LATEST --save-dev
于 2020-11-20T05:28:55.720 回答