在无头模式下使用硒铬节点时,量角器在页面上找不到Angular

资料夹

我正在使用量角器指令来确定可以使用无头浏览器。

因此,按照说明...

conf.js

exports.config = {
  seleniumAddress: 'http://seleniumhub:4444/wd/hub',
  multiCapabilities: [
    {
        browserName: 'firefox',
        'moz:firefoxOptions': {
            args: [
                "--headless",
            ]
        }
    },
    {
        browserName: 'chrome',
        chromeOptions: {
            args: [
                // chrome will crash without this
                '--headless',
                "--disable-gpu",
            ]
        }

    }
  ],

  framework: 'jasmine2',
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000,
  },
  specs: ['todo-spec.js']
};  

todo-spec.js

describe('angularjs homepage todo list', function() {
it('should add a todo', function() {
browser.get('https://angularjs.org');

element(by.model('todoList.todoText')).sendKeys('write first protractor test');
element(by.css('[value="add"]')).click();

var todoList = element.all(by.repeater('todo in todoList.todos'));
expect(todoList.count()).toEqual(3);
expect(todoList.get(2).getText()).toEqual('write first protractor test');

// You wrote your first test, cross it off the list
todoList.get(2).element(by.css('input')).click();
var completedAmount = element.all(by.css('.done-true'));
expect(completedAmount.count()).toEqual(2);
});
});

从我的节点8.8.1容器中运行

./node_modules/.bin/protractor conf.js

我想找到罪魁祸首就是真正的标准香草。

当测试运行时,firefox通过并且chrome失败

E /量角器-在页面https://angularjs.org/上找不到Angular :重试以寻找超出角度的位置

有任何线索/想法/建议吗?

我的“ seleniumhub”是一个带有火狐和镀铬节点的码头化硒网格。一切都在3.6.0版上。

总结版本...

  • 节点8.8.1(docker)
  • Selenium Hub 3.6.0(泊坞窗)
  • Selenium Chrome Node 3.6.0(泊坞窗)
  • Selenium Firefox Node 3.6.0(泊坞窗)
  • 量角器5.2.0

这也是我的docker-compose.yml

version: "3.2"
services:

  seleniumhub:
    image: selenium/hub:${SELENIUM_VERSION}
    networks:
      - private
    ports:
      - 4444:4444
    environment:
    # As integer, maps to "maxSession"
      GRID_MAX_SESSION: 10
    # In milliseconds, maps to "newSessionWaitTimeout"
      GRID_NEW_SESSION_WAIT_TIMEOUT: -1
    # As a boolean, maps to "throwOnCapabilityNotPresent"
      GRID_THROW_ON_CAPABILITY_NOT_PRESENT: 'true'
    # As an integer
      GRID_JETTY_MAX_THREADS: -1
    # In milliseconds, maps to "cleanUpCycle"
      GRID_CLEAN_UP_CYCLE: 5000
    # In seconds, maps to "browserTimeout"
      GRID_BROWSER_TIMEOUT: 0
    # In seconds, maps to "timeout"
      GRID_TIMEOUT: 30
    # Debug
      GRID_DEBUG: 'false'
    depends_on:
      - webserver

  firefoxnode:
    image: selenium/node-firefox${SELENIUM_DEBUG}:${SELENIUM_VERSION}
    networks:
      - private
    volumes:
      - /dev/urandom:/dev/random
      - .:/tmp/app:cached
    depends_on:
      - seleniumhub
    environment:
      HUB_PORT_4444_TCP_ADDR: seleniumhub
      HUB_PORT_4444_TCP_PORT: 4444
      # https://stackoverflow.com/questions/13723349/selenium-grid-maxsessions-vs-maxinstances
      NODE_MAX_SESSION: 10
      NODE_MAX_INSTANCES: 10

  chromenode:
    image: selenium/node-chrome${SELENIUM_DEBUG}:${SELENIUM_VERSION}
    networks:
      - private
    volumes:
      - /dev/urandom:/dev/random:ro
      - /dev/shm:/dev/shm:ro
      - .:/tmp/app:cached
    depends_on:
      - seleniumhub
    environment:
      HUB_PORT_4444_TCP_ADDR: seleniumhub
      HUB_PORT_4444_TCP_PORT: 4444
      # https://stackoverflow.com/questions/13723349/selenium-grid-maxsessions-vs-maxinstances
      NODE_MAX_SESSION: 10
      NODE_MAX_INSTANCES: 10

  node:
    depends_on:
      - seleniumhub

提前谢谢了

资料夹

因此,罪魁祸首是/ dev / urandom和/ dev / shm共享。如果将它们卸下,则一切正常。

硒2.53.1需要这些,但当前版本不需要。

因此,请享受其余的配置。它就是有效的。:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

量角器和无头铬:在页面上找不到Angular

AngularJS量角器:在无头模式下随机失败(Firefox)

使用量角器配置以无头模式运行Firefox

量角器/茉莉花在无头铬上超时 - 错误:超时 - 异步回调

页面加载后量角器找不到元素

量角器找不到Angular日期选择器

在隐身模式下启动无头铬

在量角器中正确使用页面对象模式

量角器“在等待量角器与页面同步时出错”浏览Angular网站

哪个更好:使用内置的量角器/硒功能或为量角器安装其他节点程序包?

量角器/硒“在以下位置找不到chromedriver”(在Windows上)

Selenium - 在无头模式下找不到元素

量角器找不到角度

铬/铬无头运行:使用--screenshot时是否等待页面加载?

使用$ resource时,量角器超时,等待与页面同步

硒在页面上找不到元素

如何不使用Selenium服务器而从量角器无头运行Chrome

量角器-获取正在运行测试的硒节点

Angular4 +量角器+黄瓜+ TypeScript + weback-dev-server-找不到Angular

量角器,使用isDisplayed()我得到NoSuchElementError:使用定位器找不到元素

AngularJS量角器-使用Ng单击绑定在页面上查找元素

量角器:尝试检查页面上是否未显示元素(使用 .count() )

在非角度页面上使用量角器测试登录

量角器-参见页面上的文字

量角器未连接到铬

量角器在 angular 6 应用程序中找不到元素

Angular 2 - 量角器测试:找不到名称“元素”和“名称”

使用gulp运行量角器和硒时出现问题

从量角器(硒)激活时激活chrome语言标志