Tag: selenium

使用Node.js上的Selenium Webdriver Chrome阅读控制台

我想在Node.js中使用Selenium Webdriver Chrome进入一个网页,填写一个input,单击一个button,然后检索浏览器控制台的内容。 我能够得到网页,填写input,然后单击button,但到目前为止我无法弄清楚如何检索控制台的内容。 我怎么做? 这是迄今为止的代码: const webdriver = require('selenium-webdriver'); const chromeDriver = require('selenium-webdriver/chrome'); const path = require('chromeDriver').path; const service = new chromeDriver.ServiceBuilder(path).build(); chromeDriver.setDefaultService(service); const { By, until } = webdriver; webdriver.promise.USE_PROMISE_MANAGER = false; const CHROME_BIN_PATH = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome'; const options = new chromeDriver.Options(); options.setChromeBinaryPath(CHROME_BIN_PATH); options.addArguments( 'headless', 'disable-gpu', ); const main = async () […]

seleniumJavascript等

我正在尝试使用Node中的selenium-webdriver来抓取Google财经页面。 driver.wait函数似乎不按预期方式工作。 我已经设置了我的摩卡超时时间为10秒,driver.wait超时时间为9秒。 testing通过了大约一半的时间,但是当失败的时候,失败的时间不会接近9秒,实际上它在1秒内失败,然后在closurestesting之前再testing8秒。 我明显错过了一些东西,但是为了使这个工作(包括setTimeout)包含了我尝试过的不同事物的注释迭代。 如果有人能帮我看清楚我的想法中的错误,我会非常感激。 代码如下: (function () { var assert = require("chai").assert; var webdriver = require("selenium-webdriver"); var urlGoogleFinanceRoot = "https://www.google.com/finance"; describe("Selenium", function () { it("should fetch a couple of pages and keep all of the content", function (done) { var driver = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build(); webdriver.promise.controlFlow().on("uncaughtException", function (e) { console.error("Error1: " + e); }); […]

如何对量angular器中的不同规格文件进行单独报告?

我们如何为量angular器中的不同规格文件制作单独的报告? multiCapabilities: [{ 'browserName': 'chrome' }, { 'browserName': 'firefox' } { 'browserName': 'internet explorer' }], framework: 'jasmine', specs: ['TC_2.js','TC_3.js'], 目前,我的代码会在第一次迭代时生成“chrome”执行的HTML报告。当它下一次迭代时,它会生成“FF”的报告。第三次迭代会生成“IE”报告。但是最后我得到最后一次迭代(即第三次)Internet Explorer的HTML报告在基地location.Because这最后一次迭代取代以前的迭代报告。 有没有办法得到所有3个报告?(即Chrome,FF和IE报告) 量angular器-html-截图记者是我正在使用的报告。 Following is my code: onPrepare: function() { beforeEach(function() { browser.driver.manage().window().setSize(1280, 1024); }); jasmine.getEnv().addReporter(new HtmlReporter({ baseDirectory: 'D:/Manoj/TestReport3/', docTitle: 'Test Case Execution Details', docName: 'BYTestReport.html', //Meta builder metaDataBuilder: function(spec, descriptions, results, capabilities){ var metaData […]

量angular器本地和全球安装行为不同

这是一个粗糙的。 两位开发人员和我在这工作了近24小时。 我有一个conf.js,我可以导航到terminal,然后运行protractor conf.js (使用全局安装的副本),它运行完美。 一次一个,每次成功testing后出现绿点,大约需要80秒。 这是棘手的地方。 如果我通过执行(path of project)/node_modules/protractor/bin/protractor conf.js执行Protractor的本地安装,那么它会启动,一次显示几个绿色的点,然后抛出关于无法运行的错误钩成angular。 由于grunt查找并使用了“量angular器”的本地副本,所以这与集成我们的版本时造成了麻烦。 更复杂的事情,其他两个开发人员之一可以拉下我的回购和运行本地量angular器安装在我的conf.js没有问题。 它工作100%。 Error while waiting for Protractor to sync with the page: "window.angular is undefined. This could be either because this is a non-angular page or because your test involves client-side navigation, which can interfere with Protractor's bootstrapping. See http://git.io/v4gXM for details" 我们已经检查了以下所有内容: […]

nodejs selenium webdriverio webdriver.key(ENTER)

在没有susscess的情况下提出这个问题之前,我已经尽力search这个。 我只需要知道如何发送特殊字符(input密钥,退格等)与nodejs(webdriverio)selenium。 与python我需要导入selenium.keys,然后做Keys.ENTER,但我不知道如何处理JavaScript。 我的脚本已经完成并正在工作,除了需要按下input点以外,我无法find方法。 我曾尝试过 driver.click("#X20").then(function(res){ driver.keys(driver.Key.RETURN); driver.sendKeys(driver.Key.RETURN); ///and (just testing) }) 它没有工作:(

从promise块返回函数中的值

我正在尝试编写一个函数(使用WebdriverJS lib)遍历元素列表,检查名称并构build与该名称相对应的xpath定位器。 我在这里简化了xpath定位器,所以不要留意。 我在这里遇到的问题是:1)调用这个函数返回undefined。 据我所知,这是因为return语句不在其位置上,而是:2)将它放在一个正常的同步代码正常工作的地方,不适用于asynchronouspromise,因此调用此函数将返回同样未定义,但是因为return语句在“driver.findElement”语句之前触发。 如果我想通过调用这个函数得到createdTaskvariables,我应该如何在这里使用return语句? var findCreatedTask = function() { var createdTask; driver.findElements(By.xpath("//div[@id='Tasks_Tab']")).then(function(tasks) { for (var index = 1; index <= tasks.length; index++) { driver.findElement(By.xpath("//div[@id='Tasks_Tab'][" + index + "]//div[@class='task-title']")).getText().then(function(taskTitle) { if (taskTitle == "testName") { createdTask = "//div[@id='Tasks_Tab'][" + index + "]"; return createdTask; } }); } }); };

虚拟机上NodeJS的量angular器 – 如何修复错误199?

我想在虚拟机上使用量angular器,得到错误代码199。 我正在按照这个教程完全相同的步骤 – http://www.protractortest.org/#/tutorial 当我在命令行上input量angular器conf.js时,出现以下错误: [14:51:31] I/hosted – Using the selenium server at (my url here) [14:51:31] I/launcher – Running 1 instances of WebDriver [14:51:51] E/launcher – null [14:51:51] E/launcher – WebDriverError: null at WebDriverError (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5) at Object.checkLegacyResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15) at parseHttpResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:538:13) at client_.send.then.response (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:472:11) at ManagedPromise.invokeCallback_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14) at TaskQueue.execute_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2913:14) at TaskQueue.executeNext_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21) at […]

Selenium WebDriver:连接被拒绝(连接被拒绝)

我在mean.js 4.2版上运行npmtesting,它在量angular器e2etesting上给我一个“连接被拒绝”的错误。 我试图像这样说更新selenium。 现在是2.27版本,另一个堆栈溢出post是2.24。 Chrome驱动程序是否再次中断? Running "protractor:e2e" (protractor) task webdriver-manager path: /Users/tdiddy/meaning42/node_modules/grunt-protractor-runner/node_modules/protractor/bin/webdriver-manager selenium standalone is up to date. chromedriver is up to date. Starting selenium standalone server… [launcher] Running 1 instances of WebDriver Selenium standalone server started at http://192.168.0.30:53658/wd/hub /Users/tdiddy/meaning42/node_modules/grunt-protractor-runner/node_modules/selenium-webdriver/lib/atoms/error.js:108 var template = new Error(this.message); ^ UnknownError: Connection refused (Connection refused) at new bot.Error (/Users/tdiddy/meaning42/node_modules/grunt-protractor-runner/node_modules/selenium-webdriver/lib/atoms/error.js:108:18)

在NodeJs上运行Selenium

这是我第一次在Windows 7环境中使用NodeJs上的selenium-webdriver 。 以下是我所做的尝试使其工作: 安装的NodeJs 7.5 (由Selenium官方支持,如Git https://github.com/SeleniumHQ/selenium/tree/master/javascript/node/selenium-webdriver所述 ) 使用npm安装selenium-webdriver 已下载chromedriver.exe 2.27到"C:\Selenium Utilities\chromedriver" 添加chromedriver到我的PATH为C:\Selenium Utilities\chromedriver; 从Selenium Git页面添加了我的第一个testing: var webdriver = require('selenium-webdriver'), By = webdriver.By, until = webdriver.until; var driver = new webdriver.Builder() .forBrowser('chrome') .build(); driver.get('http://www.google.com/ncr'); driver.findElement(By.name('q')).sendKeys('webdriver'); driver.findElement(By.name('btnG')).click(); driver.wait(until.titleIs('webdriver – Google Search'), 1000); driver.quit(); 尝试通过node test.js运行testing 结果,我得到错误说(摘录): “…抛出新的错误('不知道如何build立驱动程序:'+浏览器” “错误:不知道如何构build驱动程序:C;你忘记调用usingServer(url)? 我究竟做错了什么? 我是否需要运行一个单独的Selenium服务器才能运行?

量angular器+ Selenium Chrome Docker = WebDriverError:未知错误:Chrome无法启动:退出正常

我已经完成了本教程的所有内容http://www.protractortest.org/#/tutorial 和 https://github.com/angular/protractor-cookbook/tree/master/protractor-docker (我最近从sepereatedselenium毂和节点更改为https://hub.docker.com/r/selenium/standalone-chrome/ ) 我已经创build了一个protractor.config.js: exports.config = { framework: 'jasmine', seleniumAddress: 'http://localhost:4455/wd/hub', specs: ['../tests/protractor/spec.js'], } 我的testing里面的testing/量angular器/ spec.js // spec.js describe('Protractor Demo App', function() { it('should add one and two', function() { browser.get('http://juliemr.github.io/protractor-demo/'); element(by.model('first')).sendKeys(1); element(by.model('second')).sendKeys(2); element(by.id('gobutton')).click(); expect(element(by.binding('latest')).getText()). toEqual('5'); // This is wrong! }); }); 这些是我的selenium中枢和铬节点: docker run -d -p 4455:4444 –name selenium-hub selenium/hub:latest docker run […]