在puppeteer中我想在进入下一行代码之前等待一段确定的时间.
我试图setTimeout在一个评估函数中,但它似乎被忽略了
console.log('before waiting');
await page.evaluate(async() => {
setTimeout(function(){
console.log('waiting');
}, 4000)
});
console.log('after waiting');
Run Code Online (Sandbox Code Playgroud)
此代码不等待,只是在等待之前和等待之后写入
你知道怎么做吗?
我想es使用Puppeteer 推出一款带有西班牙语的谷歌Chrome浏览器.
我试过puppeteer.launch(args:['--lang=es',...],...)但是没用.
我试过传递环境变量,LANGUAGE=es mocha puppeteer-test.js但它没有用.
我已尝试使用该userDataDir选项并传递带有文件的Preferences文件夹{ "intl": { "accept_languages": "es" } }但浏览器设置 - 语言仍然不显示西班牙语,也window.navigator.languages没有window.navigator.language
我正在使用
Puppeteer 0.11.0
Node 8.4.0
NPM 5.2.0
macOS El Capitan 10.11.6
MacBook Pro Retina,15英寸,2015年中
javascript google-chrome browser-testing google-chrome-headless puppeteer
我想在Mobile IE中测试网站.我不需要或者想要加载Windows 8,只需要Windows Phone 8.
我可以直接在Mac上运行Windows Phone 8吗?
macos virtualization ie-mobile browser-testing windows-phone-8
在Windows 7到Windows 8(.1)上,IE11似乎略有不同.我想这是因为某些功能与操作系统有关.
例如,Windows 7开发者预览博客文章中的IE11简要提到了SPDY:
在Windows 8.1上,IE11还支持SPDY网络协议
和DRM视频:
在Windows 8.1上,IE11支持最新的媒体流标准,媒体源扩展(MSE)和加密媒体扩展(EME).
Web开发人员需要注意哪些其他差异(尤其是CSS和JS API)?是否值得下载2个独立的虚拟机来测试IE11?
browser windows internet-explorer browser-testing windows-8.1
在阅读了有关 Web 安全的 Cypress文档以及何时禁用它之后,我决定我确实需要这样做。有没有办法只为一个特定的测试/测试套件禁用它?我使用的是3.4.1 版,并且正在设置此配置cypress.json- 因此它对所有测试都是全局的。
有没有一种方法可以仅针对一次测试禁用网络安全?谢谢!
我可以使用什么来测试我使用HTML/CSS开发的网站,看看它在iPhone/iPad/Android等移动设备中的外观?Windows上的仿真器/模拟器?我可以安装Android SDK并使用它的模拟器吗?对于Apple的设备,我需要为SDK支付费用吗?我可以用来模仿的任何东西,我只是需要它来进行网站测试而不是应用程序.像www.testiphone.com或iphonetester.com这样的网站似乎不准确
我的印象是Watin不再被维护,并询问哪个框架最适合在.net浏览器中测试网站?
我有以下测试,用 Cypress 编写。我在前端使用支持 SSR 的 VueJS。\n我的应用程序它\xe2\x80\x99s 是一个 SPA,我正在测试用户单击菜单。
\n\nbefore(() => {\n // mock data etc.\n});\n\nit(\'should check if component render properly without ssr\', () => {\n cy.visit(\'url\');\n cy.wait(1000);\n cy.get(\'.menuElement\').click();\n cy.get(\'.something\').should($something => {\n expect($something).to.have.length(10);\n });\n});\nRun Code Online (Sandbox Code Playgroud)\n\n根据 Cypress\xe2\x80\x99 最佳实践,我不应该以这种形式使用 cy.wait。\n但问题是;如果不等待,测试就会失败。我尝试使用:
\n\n{ timeout: 10000 }作为 cy.get 和 cy.visit 中的参数.should(\'be.visible\');(等待何时可见)cy.wait("@abc")但以上都不适合我。
\n\n请提出一个解决方案。我应该怎么做才能使我的情况一切正常?
\n我是 Puppeteer 和 Node 的新手,尝试执行以下代码时出现此错误:
'use strict';
const puppeteer = require('puppeteer');
const evalLib = require('./oaa_a11y_evaluation.js');
function evaluateRules() {
var ruleset = OpenAjax.a11y.RulesetManager.getRuleset("ARIA_STRICT");
var evaluator_factory = OpenAjax.a11y.EvaluatorFactory.newInstance();
evaluator_factory.setParameter('ruleset', ruleset);
evaluator_factory.setFeature('eventProcessing', 'fae-util');
evaluator_factory.setFeature('groups', 7);
var evaluator = evaluator_factory.newEvaluator();
var evaluation = evaluator.evaluate(window.document, document.title, document.location.href);
// var out = evaluation.toJSON(true);
return;
}
(async() => {
const browser = await puppeteer.launch();
var page = await browser.newPage();
await page.goto('http://mihirkumar.com/', {waitUntil: 'load'});
page.evaluate(evaluateRules);
await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)
以下是错误消息的详细信息:
(node:27876) UnhandledPromiseRejectionWarning: Error: Protocol error (Runtime.callFunctionOn): Target closed.
at …Run Code Online (Sandbox Code Playgroud) Webdriver 中有一个公认的“功能”列表,其中包括“debuggerAddress”。
但是我找不到一种方法来设置这样的选项,既不是在Capabilities类中,也不是在 javascript api 的CromeOptions中。
正如我在几个问题中看到的,“debuggerAddress”选项(或功能?)可以在 Python api 中设置。
我尝试的类似于这个问题,来自节点应用程序
将应用程序链接到已启动的 webdriver (cromedriver.exe)。这没关系
webdriver.Builder().usingServer( 'http://localhost:9515' )
要求 webdriver 不要启动新的 Chrome 实例,而是链接到已经启动的--remote-debugging-port=XXXXXChrome 参数。这应该通过"debuggerAddress"选项/功能来完成,但我无法意识到如何使用 javascript api 来做到这一点。
javascript google-chrome browser-testing selenium-chromedriver selenium-webdriver
browser-testing ×10
javascript ×5
puppeteer ×3
chromium ×2
cypress ×2
node.js ×2
browser ×1
css ×1
end-to-end ×1
html ×1
ie-mobile ×1
macos ×1
testing ×1
watin ×1
windows ×1
windows-8.1 ×1