Tag: selenium webdriver

Docker:如何使用selenium服务器做nightwatchJStesting?

我不知道如何使用我的./bundle应用程序来运行selenium服务器,它的文件位于自定义e2e:latest的./bundle文件夹中。 我想我必须将selenium服务器和webdriver chrome添加到e2e:latest的Dockerfile中e2e:latest图像,不是吗? 这是我迄今为止所做的: 我用NodeJS和nightwatchJS创build了一个基于java:8-jre的docker镜像: Dockerfile FROM java:8-jre ## Node.js setup RUN curl -sL https://deb.nodesource.com/setup_4.x | bash – RUN apt-get install -y nodejs ## Nightwatch RUN npm install -g nightwatch 这个图像然后用于testing: gitlab-ci.yml build: stage: build tags: – deploy script: – docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY – meteor npm install –production – meteor build […]

nodejs服务器错误与seleniumwebdriver

使用selenium webdriver启动nodejs服务器时出现以下错误 ubuntu@ip-10-10-10-193:~/testenvoy$ node app.js /home/ubuntu/testenvoy/node_modules/selenium-webdriver/index.js:115 static createSession(…args) {} ^^^ SyntaxError: Unexpected token … at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object.<anonymous> (/home/ubuntu/testenvoy/controllers/test/all.js:2:17) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) r? 我该如何解决这个错误? UPDATE 将nodejs版本降级到Node v6.9.0后,出现以下错误 /home/ubuntu/www.testenvoy.com/webdriver/node_modules/selenium-webdriver/lib/promise.js:2517 throw error; ^ WebDriverError: Firefox […]

设置input值而不是sendKeys() – selenium webdriver nodejs

我有一个很长的string来testing和sendKeys()需要太长时间。 当我试图设置text的值时,程序崩溃。 我知道Selenium sendKeys()是testing实际用户input的最好方法,但是对于我的应用程序来说,它需要太多的时间。 所以我试图避免它。 有没有一种方法可以马上设置值? 看这个简单的例子: var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder(). withCapabilities(webdriver.Capabilities.chrome()). build(); driver.get('http://www.google.com'); // find the search input field on google.com inputField = driver.findElement(webdriver.By.name('q')); var longstring = "test"; // not really long for the sake of this quick example // this works but is slow inputField.sendKeys(longstring); // no error […]

错误:驱动程序可执行文件的path必须由webdriver.chrome.driver系统属性设置

我正在尝试node.jsseleniumweb驱动程序的例子 … var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder(). usingServer('http://localhost:4444/wd/hub'). withCapabilities(webdriver.Capabilities.chrome()). build(); driver.get('http://www.google.com'); driver.findElement(webdriver.By.name('q')).sendKeys('webdriver'); driver.findElement(webdriver.By.name('btnG')).click(); driver.wait(function() { return driver.getTitle().then(function(title) { return title === 'webdriver – Google Search'; }); }, 1000); driver.quit(); …但有错误 promise.js:1542 throw error; ^ UnknownError: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more […]

Selenium WebDriver等到元素被显示

我search了谷歌和SO网站,我得到了JAVA的答案,但似乎没有得到node.js的答案 我有一个Web应用程序需要时间来加载。 我会selenium程序等待页面加载,然后执行一些操作。 我目前的代码如下 //dependencies var webdriver = require('selenium-webdriver'), util = require('util'), _ = require('underscore'); var driver = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build(); var branchName = _.isUndefined(process.argv[3]) ? 'branch' : process.argv[3], hostName = _.isUndefined(process.argv[2]) ? 'localhost' : process.argv[2], appTmpl = 'http://%s/%s', username = 'xxxx', password = 'xxxx'; var appUrl = util.format(appTmpl, hostName, branchName); driver.get(appUrl); driver.findElement(webdriver.By.name("username")).sendKeys(username); driver.findElement(webdriver.By.name("password")).sendKeys(password); driver.findElement(webdriver.By.name("login_button")).click(); driver.quit(); […]