javascript - e2e 测试 : Headless mode test passes, 常规模式失败

标签 javascript selenium selenium-webdriver protractor e2e-testing

我有一个 e2e Protractor 测试,它在 headless 模式下通过,但在常规浏览器测试中失败。它在常规浏览器测试中失败的可能原因是什么?

注意:我使用的是 Chrome 版本 68.0.3440.106(官方构建)(64 位)来运行测试。

最佳答案

这是我学到的:

<强>1。非 headless 模式需要被告知滚动,而 headless 模式不需要被告知滚动就可以。

在非 headless 模式下,如果您不滚动到正在使用的元素,它会抛出超时错误“等待元素”出现。

我的原始代码(在 headless 模式下通过但在非 headless 模式下失败)是这样的:

 command to do something 

 command to click button

新代码(同时传入 headless 和非 headless ):

import import { browser, element } from 'protractor';
// assuming my protractor DOM element is called 'thing'

command to do something 

browser.executeScript('thing.scrollIntoView()', element.getWebElement());

command to click button

<强>2。非 headless 模式在操作之间需要更多等待。

我的原始代码(在 headless 模式下通过但在非 headless 模式下失败)是这样的:

command to do something 

command to do something else

新代码(同时传入 headless 和非 headless ):

command to do something 

browser.waitForAngularEnabled(false);

command to do something else

关于javascript - e2e 测试 : Headless mode test passes, 常规模式失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104395/

相关文章:

android - 范围报告问题并行测试

javascript - 将数据从 .json 文件导入到 Brain.js 神经网络

JavaScript:检查字符串是否包含 '.'(句号)

python - 生成有效 IP 地址列表并在 Python Selenium 循环中随机使用

javascript - Python Selenium Scraping Javascript - 找不到元素

java - 即使使用 selenium 中的 javascript 方法也无法更改 header 名称

python - 当在源中找不到 URL 时,从 Google 本地搜索中提取网站(URL)吗?

Javascript 函数未调用 onclick

javascript - OS X 上的 WebKit : How to detect a JS call to pushState() in a WebView?

java - 无法使用 ANT 通过 build.xml 运行 selenium Web 驱动程序脚本