我到底想做什么?
尝试有一个码头工人的形象,做以下。是的,我知道有其他方法来完成这里的最终游戏,但我有一个具体的要求。
当前状态-在常规Windows 10或Windows 2016中运行测试时,测试运行正常。当测试在Windows docker容器中运行时,会显示“由于页面崩溃而删除会话”。请注意,我关注的是chrome测试,但我们在使用FireFox时也得到了类似的结果。
我打开了selenium chrome的详细调试,并捕获了日志文件。我有两个日志文件。“goodrun_log.txt”来自Windows 10的成功测试。“docker_log.txt”是容器内失败运行的日志。
关于473行,我们可以看到docker运行失败。到那时为止,日志文件与良好运行完全相同。然后砰的一声。那么,我们遗漏了什么使docker容器在那一点上失败呢?
发布至Selenium网站https://github.com/SeleniumHQ/selenium/issues/7165发布到ASP。净docker回购协议https://github.com/Microsoft/aspnet-docker/issues/181
option.AddArgument("--disable-dev-shm-usage"); // https://github.com/elgalu/docker-selenium/issues/20#issuecomment-407101358
docker run -d --name aspnet48testsrun --shm-size="1g" -p 5000:80 aspnet48testsd
docker run -d --name aspnet48testsrun -m inf --memory-swap inf -p 5000:80 aspnet48tests
docker run -d --name aspnet48testsrun -m 2g -p 5000:80 aspnet48tests
[1556732925.450][DEBUG]: DevTools WebSocket Event: DOM.documentUpdated 7FCEC12C5F4ADEA352BBA3DF3AF6075D { } [1556732925.450][DEBUG]: DevTools WebSocket Command: DOM.getDocument (id=15) 7FCEC12C5F4ADEA352BBA3DF3AF6075D { } [1556732925.451][DEBUG]: DevTools WebSocket Response: Runtime.evaluate (id=14) 7FCEC12C5F4ADEA352BBA3DF3AF6075D { "result": { "type": "string", "value": "http://localhost/" } } [1556732925.531][DEBUG]: DevTools WebSocket Event: Inspector.targetCrashed 7FCEC12C5F4ADEA352BBA3DF3AF6075D { } [1556732925.532][INFO]: Waiting for pending navigations... [1556732925.532][DEBUG]: DevTools WebSocket Command: Runtime.evaluate (id=16) 7FCEC12C5F4ADEA352BBA3DF3AF6075D { "expression": "1" } [1556732925.532][INFO]: Done waiting for pending navigations. Status: unknown error: cannot determine loading status from tab crashed [1556732925.552][INFO]: [464b2b630c39434969f9b90e11b7aa37] RESPONSE Navigate ERROR unknown error: session deleted because of page crash from unknown error: cannot determine loading status from tab crashed (Session info: headless chrome=74.0.3729.108) [1556732925.552][DEBUG]: Log type 'driver' lost 0 entries on destruction [1556732925.552][DEBUG]: Log type 'browser' lost 0 entries on destruction
[1556733552.098][DEBUG]: DevTools WebSocket Event: DOM.documentUpdated 193B5CE9ACD5F7CE56919120C68276A7 { } [1556733552.098][DEBUG]: DevTools WebSocket Command: DOM.getDocument (id=15) 193B5CE9ACD5F7CE56919120C68276A7 { } [1556733552.104][DEBUG]: DevTools WebSocket Response: Runtime.evaluate (id=14) 193B5CE9ACD5F7CE56919120C68276A7 { "result": { "type": "string", "value": "http://localhost:29657/" } } [1556733552.104][DEBUG]: DevTools WebSocket Response: DOM.getDocument (id=15) 193B5CE9ACD5F7CE56919120C68276A7 { "root": { "backendNodeId": 6, "baseURL": "http://localhost:29657/", "childNodeCount": 1, "children": [ { "attributes": [ ], "backendNodeId": 7, "childNodeCount": 2, ... lots more ...
PS C:\seleniumtests> .\SeleniumDockerTest.exe http://localhost [chrome options:] =[--headless --no-sandbox --disable-gpu] Starting ChromeDriver 74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}) on port 49160 Only local connections are allowed. Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code. [0501/120039.381:ERROR:network_change_notifier_win.cc(156)] WSALookupServiceBegin failed with: 0 [0501/120039.428:ERROR:audio_device_listener_win.cc(46)] RegisterEndpointNotificationCallback failed: 80070424 DevTools listening on ws://127.0.0.1:49163/devtools/browser/f33a8cd9-6411-46f5-a9ab-d69901cd53c1 [0501/120039.772:ERROR:network_change_notifier_win.cc(156)] WSALookupServiceBegin failed with: 0 [exception caught] =[OpenQA.Selenium.WebDriverException: unknown error: session deleted because of page crash from unknown error: cannot determine loading status from tab crashed (Session info: headless chrome=74.0.3729.108) (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17763 x86_64) at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) at OpenQA.Selenium.Remote.RemoteWebDriver.html" target="_blank">set_Url(String value) at OpenQA.Selenium.Remote.RemoteNavigator.GoToUrl(String url) at SeleniumDockerTest.Program.DoChromeTests() in C:\dev\docker-selenium-aspnet45.git\SeleniumDockerTest\Program.cs:line 60]
有一个docker映像,包含Windows、IIS、Chrome、FF和https://cloud.docker.com/repository/docker/jhealy62/devfish的一些测试。
把它从回购中拉下来并准备好
装进容器里
在docker容器内部,可以看到Web服务器正在工作
请参见seleniumtest失败:
跟我一起哭吧!
WebDriver超时错误已解决-在Docker容器中的FireFox或Chrome测试中发生。
RUN powershell -Command Add-WindowsFeature Web-WebSockets
option.AddArguments( "--headless","--disable-gpu", "--no-sandbox" );
以防万一,我会把我的解决方案留在这里,也许对某人来说,这会很有帮助。)
因此,我们的想法是在一个单独的容器中运行“selenium/standalone chrome”映像。
首先设置您的docker-compose.yml文件,类似这样:
version: '3.8'
services:
chrome:
image: <your_storage>/standalone-chrome
restart: always
ports:
- 4444:4444
networks:
front:
ipv4_address: 172.16.238.5
net-worker:
build: <your_storage>/<your_project>
depends_on:
- chrome
networks:
front:
ipv4_address: 172.16.238.10
networks:
front:
driver: bridge
ipam:
config:
- subnet: 172.16.238.0/24
然后在代码中连接到exist chrome实例
var options = new ChromeOptions();
options.AddArguments("--headless");
options.AddArgument("no-sandbox");
_chrome = new RemoteWebDriver(new Uri("http://172.16.238.5:4444/wd/hub"), options);
现在,您可以使用这个chrome实例上传您的网站进行测试。
注意:我的问题被关闭之前,我尝试了这里提到的解决方案-未知错误:会话删除,因为页面崩溃从未知错误:无法确定加载状态从标签崩溃与ChromeDriver硒-添加这些选项-options.add参数("--disable-dev-shm-用法");options.add参数("--no-沙盒"); -- 我仍然看到的问题 在selenium网格中运行时,在某些情况下,单个测试会出现以下错误: 方法1:
我从GitHub下载了这个游荡的硒网格设置,并按原样试用了它。我可以让我的量角器测试在默认的Firefox实例上运行,但是当我尝试在chrome实例上测试时,我遇到了错误。这是当我尝试使用chrome运行测试时,节点vm的node.log文件的日志输出。 我尝试过使用openjdk 6 我目前正在使用量角器0.23.1。这是我的量角器配置文件: 我也尝试将下面的标志添加到conf/upstart/
每当UwAmp重启自己(例如,当我修改php.ini或切换到不同版本的php),它经常崩溃Chrome我打开的任何页面,无论是我正在UwAmp测试的页面还是完全不相关的东西比如Facebook它们是空的,我必须重新加载它们。有时它完全关闭Chrome,我必须重新启动它,我收到消息说Chrome意外关闭。什么给?这是已知的错误吗?有什么办法可以预防吗?UwAmp是如何控制Chrome的?这是在Win
问题内容: 我正在使用使用Python和Selenium的InstaPy。我每个Cron都会启动脚本,并且有时会崩溃。所以它确实是不规则的,有时运行得很好。我也已经在GitHub Repo上发布了消息,但是在那儿没有得到答案,所以我现在在这里问是否有人知道为什么。 这是一台数字海洋ubuntu服务器,我在无头模式下使用它。驱动程序版本在日志中可见。这是错误消息: 知道原因可能是什么以及如何解决?
问题内容: 我有一个存储时间线的领域模型(我正在制作视频编辑应用程序),并且经常访问它的RMArray属性时会迷恋它。该应用程序已经发货,我本人还没有体验过,但是我的美眉经常将崩溃通知我。这是崩溃日志: 这是RLMProject代码: 有人知道我的代码有什么问题吗? 问题答案: 当本身失效时,将无法检查或,这就是为什么您的堆栈跟踪显示未捕获的异常被抛出的原因。 这意味着在调用之前,该对象已从领域中