我正在尝试通过Azure执行远程selenium测试。
为此,我使用https://github.com/Azure/azure-devtestlab/tree/master/samples/DevTestLabs/QuickStartTemplates/201-dtl-create-lab-with-seleniumgrid
我使用selenium服务器独立jar文件创建了一个自定义模板,并安装了Chocolate包,其中包含节点和中心工件。
我启动了虚拟机(中心和节点)。并在每个虚拟机中手动下载java独立jar文件,在命令提示符下,我用正确的命令启动每个虚拟机:
中心:
java -jar selenium-server-standalone-3.11.0.jar -role hub
集线器给了我一个节点连接的IP。(对于这个例子,我将使用:10.0.0.2)
节点
java -Dwebdriver.chrome.driver="C:\tryGrid\chromedriver.exe" -jar selenium-server-standalone-3.11.0.jar -role node -hub http://10.0.0.2:4444/grid/register/
但节点无法连接到集线器。
中心:
以终端配置状态“失败”完成的资源操作。VM在处理扩展“CustScriptartifat-183362431”时报告失败。错误消息:“已完成执行命令”。
扩展消息:
正在执行脚本GridDeployer。ps1
参数-----------角色:中心配置文件:testhub SeleniumGridJarFile:https://seleniumserverstandalonejardow
SeleniumGridJarFileName: s4o9Vx成功从https://seleniumserverlistalonejarinstall下载SeleniumGrid jar文件。Invoke-WebRequest:无法解析远程名称:'testhub'At C:\Packages\Plugins\Microsoft。计算。CustomScriptExtens\1.9\Download\2\PublicRepo\master\b8dcb684950157e2f6c44e9774ad70f0b27443d3\arti事\windows-se leniumgrid-hub\脚本\GridDeployer.ps1:58 char: 5 Invoke-WebRequest-Uri$confiFile-OutFile"$PWD\$confiFileName" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 类别信息:无效操作:(System. Net. HttpWebRequest: Htt pWebRequest)[Invoke-WebRequest], WebException FullyQualifiedErrorId: WebCmdletWeb响应异常,微软。
所以我现在不知道该怎么办。救命。
另外,我在本地机器上使用过这些节点和集线器配置,效果非常好,但问题是当我想用azure虚拟机执行它时
我找到了这个问题的答案。问题不在门户azure端,而是在我的虚拟机中。
我在github上阅读了很多论坛和问题以及这里的另一个问题。最后我找到了一个关于防火墙问题的。
我刚刚做了什么?在我的虚拟机上,我:
然后,对于集线器配置,您可以编写一个json文件,并将其保存在与selenium服务器相同的路径中。该文件应包含以下内容:
{
"host": "85.168.37.178",
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"prioritizer": null,
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"nodePolling": 5000,
"cleanUpCycle": 5000,
"timeout": 300000,
"maxSession": 5
}
我将文件保存为hub。json。你在控制台上写
java -jar selenium-server-standalone-2.6.0.jar -role hub -hubConfig hub.json
对于节点,您还可以编写如下配置文件:
{
"capabilities":
[
{
"browserName": "firefox",
"maxInstances": 5
},
{
"browserName": "chrome",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "internet explorer",
"maxInstances": 1
}
],
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": 5555,
"register": true,
"registerCycle": 5000,
"hub": "http://85.168.37.178:4444/",
"nodeStatusCheckTimeout": 5000,
"nodePolling": 5000,
"role": "node",
"unregisterIfStillDownAfter": 60000,
"downPollingLimit": 2,
"debug": false,
"servlets" : [],
"withoutServlets": [],
"custom": {}
}
最后,在您的程序中您可以编写IP或DNS,我采用DNS是因为是公共的。
ChromeOptions options = new ChromeOptions();
options.AddArgument("--start-maximized");
RemoteWebDriver(new Uri("http://myvirtualmachinename.server.cloudapp.azure.com:4444/wd/hub"), options.ToCapabilities());
我希望这对你也有用!
使用我们提供的 yapi-cli 工具,部署 YApi 平台是非常容易的。建议部署成 http 站点,因 chrome 浏览器安全限制,部署成 https 会导致测试功能在请求 http 站点时文件上传功能异常。 如果您是将服务器代理到 nginx 服务器,请配置 nginx 支持 websocket。 在location /添加 proxy_http_version 1.1; proxy_s
问题内容: 我正在使用Eclipse服务器功能进行热代码部署。使用tomcat作为Web服务器。但是我不确定它是如何工作的。我有自己的理解,它必须如何在内部工作。 我的理解:- 当开发人员更改代码(例如,类Employee)时,Eclipse将在正确的位置(必须是特定的Web /应用服务器,将其称为热部署目录(HDD))放置/发布修改后的已编译类。 。现在将显示Web服务器特定的类加载器。它在HD
根据和代码/系统的紧密程度,我们可以简单地把部署分为应用级和系统级。 应用级通常提供把 HTTP 请求递交给应用,而系统级和运维的关系更为紧密。 下面是一个非常常见的 Python 应用部署架构: nginx :静态文件服务;SSL 负载转移;反向代理; Memcached / Redis :缓存; Celery :运行后台任务; Redis / RabbitMQ :任务队列(通常对接 Celer
kubernetes 要求集群内各节点能通过 Pod 网段互联互通,本文档介绍使用 Flannel 在所有节点 (Master、Node) 上创建互联互通的 Pod 网段的步骤。 使用的变量 本文档用到的变量定义如下: $ export NODE_IP=10.64.3.7 # 当前部署节点的 IP $ # 导入用到的其它全局变量:ETCD_ENDPOINTS、FLANNEL_ETCD_PREFIX
我有一个Spring-boot gradle应用程序,它没有任何web页面。这个应用程序有REST API,当我作为Spring boot应用程序运行时,它成功地被调用。 现在,在gradle的generation war之后,当我试图将它部署在apache-tomcat-8.0.35中时,它得到了部署,目录结构如下所示:- 但是现在我不能用tomcat端口8080访问我的REST api。我已经
我正在开发一个基于nodejs和postgresql的corona病毒项目。我正在尝试在heroku上部署我的应用程序,但我遇到了一些问题。这些问题来自postgres配置(我认为)。 我有一个. env文件,其中我初始化了一些变量(DATABASE_URL,...),但我不知道如何将它们传输到heroku。我关联了一个插件postgres-heroku,它会生成一个具有随机值的DATABASE_