Selenium 使用模拟服务器进行浏览器堆栈e2e测试

Selenium 使用模拟服务器进行浏览器堆栈e2e测试,selenium,express,nightwatch.js,browserstack,mockserver,Selenium,Express,Nightwatch.js,Browserstack,Mockserver,我的目标是建立一个环境,让CircleCI在不同浏览器的BrowserStack上运行e2e测试 我的测试假设有一个模拟服务器正在运行。(例如,测试是检查是否对模拟服务器进行了特定调用。) 我了解到BrowserStack有一个类似于local的测试,但是每当我想在端口65432上启动模拟服务器时,它就会说该端口已经被使用了错误:侦听EADDRINUSE::65432 我有一个Express mock服务器正在运行(在端口65432),测试由Nightwatch针对Selenium服务器运行 到

我的目标是建立一个环境,让CircleCI在不同浏览器的BrowserStack上运行e2e测试

我的测试假设有一个模拟服务器正在运行。(例如,测试是检查是否对模拟服务器进行了特定调用。)

我了解到BrowserStack有一个类似于
local
的测试,但是每当我想在端口
65432
上启动模拟服务器时,它就会说该端口已经被使用了<代码>错误:侦听EADDRINUSE::65432

我有一个Express mock服务器正在运行(在端口
65432
),测试由Nightwatch针对Selenium服务器运行

到目前为止,我只看到了一些例子,这些例子对互联网上的主页进行测试(比如
google.com
),但我想在本地运行我自己的模拟服务器,并对其进行测试


有没有一种方法可以让我运行模拟服务器,并使用Nightwatch和Selenium对该模拟服务器运行测试,所有测试都由运行BrowserStack上测试的CI工具完成?

如果您的计算机上托管有内部网站(公众无法访问)(使用模拟服务器-、等)并希望运行基于Selenium的脚本在BrowserStack上测试该应用程序,然后您可以使用

您只需
运行它们在本地计算机上提供的二进制文件
(可以访问内部网站),并将功能“
browserstack.local
”设置为“
true
”。因此,在BrowserStack上运行的测试将能够访问您的内部网站。我建议您查看文档。您可以在NightWatchJSBrowserStack上签出文档


如果您希望使用CircleCI触发测试。他们也为CircleCI提供了插件,请阅读更多相关内容。在这种情况下,插件本身将为您处理本地测试。

对于未来的读者:我的问题是并行性-我使用以下对象设置了2个worker(基本上是子进程):

"test_workers": {
    'enabled': true,
    'workers': 2
}

我从一个我再也找不到的示例中找到了这个设置,但是如果您使用自己的模拟服务器运行夜间监视测试,这可能会弄乱测试套件,因为每个工作人员都会尝试为自己的测试启动模拟服务器,这显然会失败。

thx@ckzgraphics,这个链接帮助我更好地理解,但是我的问题有点不同。