【问题标题】:Automated Chrome hides text in CodeceptJS WebdriverIO test自动 Chrome 隐藏 CodeceptJS WebdriverIO 测试中的文本
【发布时间】:2018-11-22 19:33:37
【问题描述】:

我全新安装了 Chrome 版本 67.0.3396.87,并按照 https://codecept.io/quickstart/ 初始化项目并创建以下测试:

Feature('Hidden Text');

Scenario('test something', (I) => {
    I.amOnPage('/');
    pause();
});

codecept.json 配置非常标准:

{
  "tests": "./*_test.js",
  "timeout": 10000,
  "output": "./output",
  "helpers": {
    "WebDriverIO": {
      "url": "https://codecept.io",
      "browser": "chrome"
    }
  },
  "include": {
    "I": "./steps_file.js"
  },
  "bootstrap": false,
  "mocha": {},
  "name": "chrome-missing-text"
}

当我运行测试时,所有文本都被隐藏:

有趣的是,这种行为也适用于 chrome 设置本身(也适用于开发工具),但我可以选择并复制“隐藏”文本并成功粘贴:

我尝试通过selenium-standalone start 运行 selenium-standalone,它运行 selenium-standalone 版本 3.8.1 和 ChromeDriver 2.37.544337,还下载了最新的 selenium-standalone 版本 3.12.0 和 ChromeDriver 2.4.0,通过手动启动java -Dwebdriver.chrome.driver=chromedriver -jar selenium-server-standalone-3.12.0.jar,并没有改变Chrome在视觉上隐藏所有文本的结果。

我使用的是 Mac OS X 10.13.5。

我还能做些什么来排查和解决问题?

我不确定在哪里问这个问题,因为我不确定堆栈的哪一部分导致了问题。

【问题讨论】:

    标签: selenium-webdriver selenium-chromedriver webdriver-io codeceptjs


    【解决方案1】:

    似乎是 OS X 10.13.5 中 mac os 终端的问题。从第 3 方终端(例如使用 IntelliJ 终端)启动 selenium 服务器(或特定测试),不会出现问题。

    【讨论】:

    • 使用 WebStorm 终端启动 selenium-server,然后通过 iTerm 运行测试。
    • 这里也一样,在使用 VS Code 的终端而不是 Terminal.app 开始测试时,它可以正常工作。我使用的是 Mac OS 10.12.3
    【解决方案2】:

    看看这个:

    https://github.com/karma-runner/karma-chrome-launcher/issues/183#issuecomment-401820926

    您可能会找到一种方法来传递--disable-gpu 标志。这帮助我解决了我自己的问题: Chrome not rendering fonts when opened in terminal or run by webriver

    【讨论】:

      猜你喜欢
      • 2023-02-01
      • 2021-10-28
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 2016-04-15
      • 2013-02-12
      • 2020-03-07
      • 1970-01-01
      相关资源
      最近更新 更多