Selenium 使用模拟服务器进行浏览器堆栈e2e测试
我的目标是建立一个环境,让CircleCI在不同浏览器的BrowserStack上运行e2e测试 我的测试假设有一个模拟服务器正在运行。(例如,测试是检查是否对模拟服务器进行了特定调用。) 我了解到BrowserStack有一个类似于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服务器运行 到
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,这个链接帮助我更好地理解,但是我的问题有点不同。