Tag: selenium webdriver

Selenium&webdriver.io如何使用executeScript?

我试图用Selenium,W​​ebDriver.io和Node.js(用Mocha)来testing一个简单的表单。 所以我有这样的东西: var webdriverio = require('webdriverio'); var expect = require('expect'); describe('Test form', function(){ beforeEach(function() { browser.url('/'); }); it('should save object', function() { expect(browser.executeScript('return window.data;')).to.be([]); }); afterEach(function() { if (this.currentTest.state !== "passed") { browser.saveScreenshot(); } }); }); 我的wdio.conf.js : var selenium = require('selenium-standalone'); var seleniumServer; exports.config = { host: '127.0.0.1', port: 4444, specs: [ 'test/*.spec.js' ], […]

如何使用WebdriverIO上传文件

我试图从WebdriverIO中将以下代码从selenium-webdriver gem移植到Node.js中: @webdriver.navigate.to "https://imgur.com/upload" element = @webdriver.find_element(:id, 'global-files-button') element.send_keys("C:\\test\\image.png") 正如你所看到的代码非常简单:导航到一个URL,findinput,设置文件path,并按预期工作selectfile upload。 这是我移植的版本: describe('User can upload', () => { it('select file', () => { browser.url("https://imgur.com/upload"); browser.waitForExist('#global-files-button'); $('#global-files-button').keys("C : \\ test \\ image . png".split(" ")); }); }); 不幸的是,这个testing没有设置path,我一直无法find一个像这样用wdio上传文件的工作示例,文档让我猜测。 任何build议非常感谢。 我知道都select文件和uploadFile,但我正在与云平台运行我的wdiotesting,他们似乎并不可靠的工作。

当Angular不可用时,如何等待一个元素与量angular器可见?

我有一个用于量angular器testing的login函数,它看起来像这样: var config = require("../helpers/config.js"); var login = function() { browser.driver.get(config.dsp.url); browser.driver.findElement(by.name("userName")).sendKeys(config.dsp.user); browser.driver.findElement(by.name("password")).sendKeys(config.dsp.password); return browser.driver.findElement(by.name("submit")).click().then(function() { return browser.driver.wait(function() { return browser.driver.isElementPresent(browser.driver.findElement(by.className("sample-class-name"))); }, 360000); }); } module.exports = login; 我不能使用任何量angular器特定的钩子,因为在这个页面上没有使用Angular,所以我必须使用底层的webdriver API。 问题是,我似乎无法弄清楚如何等待,直到一个元素是可见的使用这个包装的webdriver对象。 任何帮助,将不胜感激。

我们如何阻止webdriver-manager?

我正在使用npm包webdriver-manager在机器上启动驱动程序。 如果驱动程序已经启动,则失败。 有没有一种方法可以停止并重新启动webdriver? 或者,如果已经开始忽略的东西?

在docker容器中运行nodeJS应用程序,selenium和webdriver.iotesting

我正在尝试使用我的节点应用程序进行一些webdriver.iotesting,这是一个泊坞窗图像。 所以我到目前为止做的是: 1)通过在我的ubuntu服务器上运行这个来获取selenium服务器: $ docker run -p 4444:4444 selenium/standalone-chrome 这给了我运行的容器'ubuntu_selenium_1'( $ docker ps docker $ docker ps ) 2)构build节点应用程序docker image,在后台运行节点应用程序,并运行e2e.jstesting文件 在我的gitlab-ci.yml中,我正在做 – docker build -t core:test -f Dockerfile.testing . – docker run –rm core:test 这不会给我任何输出。 没有预期的标题和错误消息。 那么我做错了什么? 有一个正在运行的selenium服务器,有后台加载的节点应用程序,启动e2e.jstesting文件。 我错过了nodeJS应用程序,webdriver和selenium的连接… Dockerfile.testing FROM core:latest # Copy the test files COPY docker-entrypoint.sh / COPY e2e.js / # Get […]

如何将量angular器的承诺转换为浮点数

我正在使用量angular器写e2etesting,我想检查页面上的某些值是否正确计算。 这样的事情很简单: var var1 = element(by.binding('var1')); var var2 = element(by.binding('var2')); var var3 = element(by.binding('var3')); expect(parseFloat(var1.getText())).toEqual(parseFloat(var2.getText()) + parseFloat(var2.getText())); 但是,因为var1,var2和var3都是承诺,所以这是行不通的。 有没有办法将promise对象转换为string,以便我可以做出上述的工作?

Selenium WebDriverJS,不能为Chrome构buildwebdriver

我在设置Selenium WebDriverJS时遇到了一些麻烦。 我的目标是使用Javascript(节点)在Chrome浏览器上运行seleniumtesting。 我遵循https://code.google.com/p/selenium/wiki/WebDriverJs以及https://code.google.com/p/chromedriver/wiki/GettingStarted上的说明 首先,我下载了一个chromedriver,并在terminal上运行它: $ ./chromedriver Starting ChromeDriver (v2.2) on port 9515 然后,我安装了selenium-webdriver: $ npm install selenium-webdriver npm http GET https://registry.npmjs.org/selenium-webdriver npm http 304 https://registry.npmjs.org/selenium-webdriver selenium-webdriver@2.35.0 node_modules/selenium-webdriver 然后,我开始了节点控制台,并试图构buildwebdriver实例 $ node > var webdriver = require('selenium-webdriver') undefined > var driver = new webdriver.Builder().usingServer('http://localhost:9515/wd/hub').withCapabilities(webdriver.Capabilities.chrome()).build(); undefined > timers.js:103 if (!process.listeners('uncaughtException').length) throw e; ^ UnknownCommandError: unknown command: wd/hub/session […]

量angular器testing在重启后拿起边缘浏览器而不是铬

我试图让一个服务器安装无头铬,seleniumwebdriver和量angular器自动化testing。 我按照以下说明设置我的环境: # JDK 8 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update && sudo apt-get install openjdk-8-jdk # Node JS curl -sL https://deb.nodesource.com/setup_6.x | sudo bash – sudo apt-get install -y nodejs # NPM modules sudo npm install protractor -g sudo npm install chromedriver -g # Google Chrome echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee […]

节点selenium-webdriver“错误:超时等待WebDriver服务器在”

在按照WebDriverJs文档的“入门”部分中的说明以及从其站点运行此片段之后: var driver = new webdriver.Builder(). 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(); 我得到这个错误: Error: Timed out waiting for the WebDriver server at http://XXX.XXX.X.XXX:60065/ at <anonymous> at <anonymous> at <anonymous> at <anonymous> at <anonymous> at <anonymous> at <anonymous> at <anonymous> at […]

获取错误,而尝试运行seleniumwebdriver的示例testing

我试图在位于“\ node_modules \ selenium-webdriver \ example”的文件“google_search_test.js”中运行示例testing。 我正在使用webdriverjs,并且只在我的系统中安装了npm包“selenium-webdriver”。 我已经移动到命令提示符下的path位置并运行命令 node google_search_test.js 我收到如下错误, 错误说明: Path\node_modules\selenium-webdriver\example>node google_search_test.js Path\node_modules\selenium-webdriver\testing\index.js:184 exports.describe.skip = global.describe.skip; ^ TypeError: Cannot read property 'skip' of undefined at Object.<anonymous> (C:\Users\kanasra\Desktop\Jaguars\Automation Testing\N odeJs\node_modules\selenium-webdriver\testing\index.js:184:40) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (C:\Users\kanasra\Desktop\Jaguars\Automation Testing\N odeJs\node_modules\selenium-webdriver\example\google_search_test.js:24:12) at […]